導航:首頁 > 源碼編譯 > 編譯elf文件

編譯elf文件

發布時間:2023-08-03 16:24:16

編譯出的elf可執行文件,哪個段中的內容可以刪除

Shell腳本:刪除.c文件編譯生成的可執行文件elf
c文件生成的可執行文件一般都比較大,因此在不用的情況下可以進行適當的清理,如果.c文件對應生成的可執行文件數量較多,通過命令的方式去刪除又較為麻煩,只保證.sh後綴及.c可執行文件不可刪除外,其他只要是可執行文件均可刪除:因此請注意該文件夾下是否有Makefile之類的可運行文件,請謹慎使用。

❷ 為什麼編譯器版本出現在我的ELF可執行文件中

我只知道這些啦,到電子詞典的官方網站上應該有的!

我買了名人6188電子詞典,我看電子詞典里的程序都是*.elf的格式,這是用什麼編程軟體編的阿,在哪裡能找到?

ELF(Executable and Linking Format)是可執行連接格式

可執行連接格式是UNIX系統實驗室(USL)作為應用程序二進制介面
(Application Binary Interface(ABI)而開發和發布的。工具介面標准委
員會(TIS)選擇了正在發展中的ELF標准作為工作在32位INTEL體繫上不同操
作系統之間可移植的二進制文件格式。

linux的gcc編譯器就可以生成elf文件

❸ ELF文件 編譯時間

具體如下:
ELF文件格式提供了兩種不同的視角,在匯編器和鏈接器看來,ELF文件是由Section Header Table描述的一系列Section的集合,而執行一個ELF文件時,在載入器(Loader)看來它是由Program Header Table描述的一系列Segment的集合。
目標文件再不同的系統或平台上具有不同的命名格式,在Unix和X86-64 Linux上稱為ELF(Executable and Linkable Format, ELF)。

❹ 設有程序1.cpp編譯後運行該程序,執行的是什麼文件

設有程序1.cpp編譯後運行該程序,執行的是1.exe,設有程序1.cpp編譯後運行該程序,執行的是1.exe。

❺ Uboot編譯為什麼沒有生成elf格式的文件

1、通過gcc編譯出來的是elf文件
2、通過objcpy可以把elf文件轉換為bin文件

CC=ppc-gcc
LD=ppc-ld
OBJCOPY=ppc-obj
$(CC)-g$(CFLAG)-cboot.S
#先將boot.S文件生成boot.o
$(LD)-g-Bstatic-T$(LDFILE)
-Ttext0x12345600boot.o
--start-group-Mapboot.map-oboot.elf
#再將boot.o生成boot.elf
$(OBJCOPY)-Obinary-R.note-R.comment-Sboot.elfboot.bin
#接著將boot.elf轉換為boot.bin
#使用-Obinary(或--out-target=binary)輸出為原始的二進制文件
#使用-R.note(或--remove-section)輸出文件中不要.note這個section,縮小了文件尺寸
#使用-S(或--strip-all)輸出文件中不要重定位信息和符號信息,縮小了文件尺寸

❻ 如何反編譯linux里的elf文件

objmp -S a.out > a.S

❼ iar使用makefile編譯

要編譯出在 iar開發板上運行的可執行文件,需要使用到交叉編譯器 iar-linux-gnueabihf-gcc 來編譯,在終端中輸入如下命令:
iar-linux-gnueabihf-gcc -g -c led.s -o led.o
上述命令就是將 led.s 編譯為 led.o,其中「-g」選項是產生調試信息,GDB 能夠使用這些
調試信息進行代碼調試。「-c」選項是編譯源文件,但是不鏈接。「-o」選項是指定編譯產生的文
件名字,這里我們指定 led.s 編譯完成以後的文件名字為 led.o。執行上述命令以後就會編譯生
成一個 led.o 文件
2 、arm-linux-gnueabihf-ld 鏈接文件
arm-linux-gnueabihf-ld 用來將眾多的.o 文件鏈接到一個指定的鏈接位置。我們在學習SMT32 的時候基本就沒有聽過「鏈接」這個詞,我們一般用 MDK 編寫好代碼,然後點擊「編
譯」,MDK 或者 IAR 就會自動幫我們編譯好整個工程,最後再點擊「下載」就可以將代碼下載
到開發板中。這是因為鏈接這個操作 MDK 或者 IAR 已經幫你做好了,因此我們現在需要做的就是確定一下本試驗最終的可執行文件其運行起始地址,也就是鏈接地址。這里我們要區分「存儲地址」和「運行地址」這兩個概念,「存儲地址」就是可執行文件存儲在哪裡,可執行文件的存儲地址可以隨意選擇。「運行地址」就是代碼運行的時候所處的地址,這個我們在鏈接的時候就已經確定好了,代碼要運行,那就必須處於運行地址處,否則代碼肯定運行出錯。比如設備支持 SD 卡、EMMC、NAND 啟動,因此代碼可以存儲到 SD 卡、EMMC 或者 NAND 中,但是要運行的話就必須將代碼從 SD 卡、EMMC 或者NAND 中拷貝到其運行地址(鏈接地址)處,「存儲地址」和「運行地址」可以一樣,比如STM32 的存儲起始地址和運行起始地址都是 0X08000000,輸入如下命令
arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf
上述命令中-Ttext 就是指定鏈接地址,「-o」選項指定鏈接生成的 elf 文件名,這里我們命名
為 led.elf

❽ 如何把.elf格式的文件編譯成uimage格式

在終端中輸入 gcc 文件名 -o 目標文件名 然後 ./目標文件名 就行了,沒有目標文件名,自動存為 a 執行 ./a 就行了。 在使用Gcc編譯器的時候,我們必須給出一系列必要的調用參數和文件名稱。GCC編譯器的調用參數大約有100多個,其中多數參數我們

閱讀全文

與編譯elf文件相關的資料

熱點內容
雲空間在哪個文件夾 瀏覽:924
編程游戲小貓抓小魚 瀏覽:782
安卓dosbox怎麼打開 瀏覽:772
伺服器無影響是怎麼回事 瀏覽:950
比德電子采購平台加密 瀏覽:200
加密貨幣400億 瀏覽:524
植發2次加密 瀏覽:44
vc6查看編譯的錯誤 瀏覽:595
心理大全pdf 瀏覽:1002
區域鏈加密幣怎麼樣 瀏覽:343
查找命令符 瀏覽:95
壓縮工具zar 瀏覽:735
白盤怎麼解壓 瀏覽:475
辰語程序員學習筆記 瀏覽:47
程序員被公司勸退 瀏覽:523
java三子棋 瀏覽:693
加密空間怎麼強制進入 瀏覽:345
ug分割曲線命令 瀏覽:209
學碼思程序員 瀏覽:610
自考雲學習app為什麼登不上 瀏覽:410