導航:首頁 > 源碼編譯 > 編譯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文件相關的資料

熱點內容
林園炒股指標源碼 瀏覽:466
pdf頁面間距 瀏覽:64
vi命令實訓操作 瀏覽:971
傳說古代洪水肆虐誰奉帝堯的命令 瀏覽:691
如何卸載愛思app 瀏覽:41
安卓app如何不顯示圖標 瀏覽:524
桌面雲伺服器組建配置 瀏覽:923
濟寧織夢源碼怎麼跳轉到qq 瀏覽:291
西安java培訓 瀏覽:298
蘋果用戶app如何退款 瀏覽:889
解壓方式就是喝酒 瀏覽:397
麥塊怎麼添加到游戲伺服器 瀏覽:962
噴油螺桿製冷壓縮機 瀏覽:582
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:162
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:234
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243