-1
鏈接器的選項順序是否在.map文件中有所不同?鏈接器的選項順序是否在.map文件中有所不同?
我有軟件,我用的連接選項編譯它,我建立了代碼
後來我改變選項的順序鏈接,並建立代碼
的增益,但在這兩個生成的.map文件的情況是不同的但具有相同的大小
爲什麼?
鏈接器的選項順序是否在.map文件中有所不同?鏈接器的選項順序是否在.map文件中有所不同?
我有軟件,我用的連接選項編譯它,我建立了代碼
後來我改變選項的順序鏈接,並建立代碼
的增益,但在這兩個生成的.map文件的情況是不同的但具有相同的大小
爲什麼?
我不確定你使用的編譯器和鏈接器。我認爲它是gcc。
不同的,不相關的選項的順序可能不會改變對象或任何其他輸出。但是如果選項之間存在任何依賴關係,則順序可能會更改上下文。
from man ld
:某些命令行選項可以在命令行中的任意位置指定。但是,引用文件(例如-l或-T)的選項會導致在選項出現在命令行中的位置(相對於目標文件和其他文件選項)讀取文件。 使用不同參數重複非文件選項將不會產生進一步的效果,或者覆蓋該選項的以前出現的(命令行左側的那些選項)。在下面的描述中註明了可能多次被有意義指定的選項。
我正在使用IAR編譯器和鏈接器 –
-f「$ {workspace_loc:/ $ {ProjName} /鏈接器文件的路徑}」-cM16C -J2,sum,1 ,,, 1,,1 = _APPL_CK_ROM_BEGIN-_APPL_CK_ROM_END ; _APPLH_CK_ROM_BEGIN-_APPLH_CK_ROM_END -HFFFF -l $(basename $ @)。map -xeimnso -rt -Oieee695,lbm = $(basename $ @)。695 -Oelf,spc = $(basename $ @)。elf == ================================================== ==== -cM16C -HFFFF -xeimnso -J2,sum,1 ,,, 1,,1 = _APPL_CK_ROM_BEGIN-_APPL_CK_ROM_END; _APPLH_CK_ROM_BEGIN-_APPLH_CK_ROM_END -rt -l $(OUTFILE).map -I。\ $(OBJDIR )-I。\ $(LNKDIR)\ \t -Omotorola-s28 = $(OUTFILE).s28 \ \t -Oieee695,lbm = $(OUTFILE).695 \ \t -Oelf,spc = $(OUTFILE).elf –
@ MuhammedS.ELtahan請不要在註釋中丟棄太多數據,這是不可讀的。編輯您的問題並在其中包含所有必要的信息。 – user694733