基于編譯型語言鯤鵬應用開發小技巧

      網友投稿 656 2022-05-29

      編譯型語言應用執行過程

      大部分應用可以通過重新編譯即可移植到鯤鵬平臺

      預處理命令: gcc -E hello.c -o hello.i,預處理完成后使用命令: cat hello.i可以看到預處理后的代碼

      編譯命令: gcc -s hello.i -o hello.s

      匯編命令: gcc -c hello.c -o hello.o

      鏈接處理可分為:

      靜態鏈接:函數的代碼將從其所在地靜態鏈接庫中被拷貝到最終的可執行程序中。這樣該程序在被執行時這些代碼將被裝入到該進程的虛擬地址空間中。靜態鏈接庫實際上是一個目標文件的集合,其中的每個文件含有庫中的一個或者—組相關函數的代碼。

      動態鏈接:函數的代碼被放到稱作是動態鏈接庫或共享對象的某個目標文件中。鏈指鏈接階段僅僅只加入一些描述信息,而程序執行時再從系統中把相應動態庫加載到內存中去。鏈接程序此時所作的只是在最終的可執行程序中記錄下共享對象的名字以及其它少量的登記信息。在此可執行文件被執行時,動態鏈接庫的全部內容將被映射到運行時相應進程的虛地址空間。動態鏈接程序將根據可執行程序中記錄的信息找到相應的函數代碼。

      編譯移植——參數處理

      不同架構下差異化GCC編譯選項查詢(gcc7.3為例)可在如下鏈接查看:鏈接:https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/Submodel-

      Options.html#Submodel-Options

      注意:-mabi=lp64在gcc4.8.5不支持,推薦gcc7.3及以上版本

      編譯編譯——宏處理

      匯編指令替換——C/C++中內聯匯編語法

      內聯的匯編語句以asm開頭,有時也會使用_asm_,后面可加參數”_volatile__"表示編譯器不要優化代碼,后面的指令保留原樣

      匯編指令替換——替換方法

      方法一:如果有相同功能的ARM匯編指令,則直接替換

      方法二:如果沒有相同功能的ARM匯編指令,則重新開發代碼來替換

      基于編譯型語言鯤鵬應用開發小技巧

      匯編語言 鯤鵬

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:華為WeLink助力上海理工大學智慧校園建設
      下一篇:static關鍵字定義與使用說明
      相關文章
      亚洲精品国产第1页| 亚洲人成电影网站| 久久亚洲AV午夜福利精品一区| 国产亚洲女在线线精品| 亚洲国产AV无码一区二区三区| 精品亚洲AV无码一区二区| 亚洲人成人77777网站不卡| 亚洲欧洲免费视频| 亚洲高清无在码在线无弹窗| 久久精品国产亚洲av麻豆色欲| 亚洲日本va午夜中文字幕一区| 久久精品国产亚洲AV电影| 亚洲天堂福利视频| 中文字幕在线观看亚洲视频| 中文字幕亚洲精品无码| 亚洲欧洲AV无码专区| 亚洲国产精品无码久久| 鲁死你资源站亚洲av| 亚洲精品网站在线观看不卡无广告| 亚洲免费一区二区| 亚洲综合另类小说色区| 国产亚洲AV手机在线观看| 亚洲VA成无码人在线观看天堂| 亚洲日韩区在线电影| 亚洲国产成人综合| 亚洲欧洲日产国码久在线| 亚洲aⅴ无码专区在线观看| 亚洲国产精品嫩草影院久久| 自拍偷自拍亚洲精品情侣| 亚洲成AV人在线观看天堂无码| 久久丫精品国产亚洲av不卡| 亚洲精品亚洲人成在线麻豆| 亚洲一级特黄特黄的大片| 狼人大香伊蕉国产WWW亚洲| 亚洲片国产一区一级在线观看| 亚洲精品午夜国产VA久久成人| 久久亚洲精品AB无码播放| 亚洲福利秒拍一区二区| 亚洲精品V天堂中文字幕| 亚洲 另类 无码 在线| 亚洲色偷偷偷鲁综合|