ld命令

ld 用於把目標代碼文件鏈接爲可執行文件或者庫文件

參數

-b:				指定目標代碼輸入文件的格式
-Bstatic:			只使用靜態庫
-Bdynamic:			只使用動態庫
-Bsymbolic:			把引用捆綁到共享庫中的全局符號
-c:				從指定的命令文件讀取命令
--cref:				建立跨引用表
-d:				設置空格給通用符號,即便指定了可重定位輸出
-defsym:			在輸出文件中建立指定的全局符號
-demangle:			在錯誤消息中還原符號名稱
-e:				使用指定的符號做爲程序的初始執行點
-E:				對於ELF格式文件,把全部符號添加到動態符號表
-f:				對於ELF格式共享對象,設置 DT_AUXILIARY 名稱
-F:				對於ELF格式共享對象,設置 DT_FILTER 名稱
-format:			指定目標代碼輸入文件的格式 (和 -b 相同)
-g:				被忽略。用於提供和其餘工具的兼容性
-h:				對於ELF格式共享對象,設置 DT_SONAME 名稱
-i:				執行增量鏈接
-l:				把指定的存檔文件添加到要鏈接的文件清單
-L:				把指定的路徑添加添加到搜索庫的目錄清單
-M:				顯示鏈接映射,用於診斷目的
-Map:				建立指定的文件來包含鏈接映射
-m:				模擬指定的鏈接器
-N:				指定讀取/寫入文本和數據段
-n:				設置文本段爲只讀
-noinhibit-exec:		生成輸出文件,即便出現非致命鏈接錯誤
-no-keep-memory:		爲內存使用優化鏈接
-no-warn-mismatch:		容許鏈接不匹配的目標文件
-O:				生成優化了的輸出文件
-o:				指定輸出文件的名稱
-oformat:			指定輸出文件的二進制格式
-R:				從指定的文件讀取符號名稱和地址
-r:				生成可重定位的輸出(稱爲部分鏈接)
-rpath:				把指定的目錄添加到運行時庫搜索路徑
-rpath-link:			指定搜索運行時共享庫的目錄
-S:				忽略來自輸出文件的調試器符號信息
-s:				忽略來自輸出文件的全部符號信息
-shared:			建立共享庫
-sort-common:			在輸出文件中不按照長度對符號進行排序
-split-by-reloc:		按照指定的長度在輸出文件中建立額外的段
-split-by-file:			爲每一個目標文件在輸出文件中建立額外的段
--section-start:		在輸出文件中指定的地址定位指定的段
-T:				指定命令文件 (和 -c 相同)
-Ttext:				使用指定的地址做爲文本段的起始點
-Tdata:				使用指定的地址做爲數據段的起始點
-Tbss:				使用指定的地址做爲bss段的起始點
-t:				在處理輸入文件時顯示它們的名稱
-u:				強制指定符號在輸出文件中做爲未定義符號
-warn-common:			當一個通用符號和另外一個通用符號結合時發出警告
-warn-constructors:		若是沒有使用任何全局構造器,則發出警告
-warn-once:			對於每一個未定義的符號只發出一次警告
-warn-section-align:		若是爲了對齊而改動了輸出段地址,則發出警告
--whole-archive:		對於指定的存檔文件,在存檔中包含全部文件
-X:				刪除全部本地臨時符號
-x:				刪除全部本地符號
相關文章
相關標籤/搜索