Visual C 鏈結器選項

2021-04-18 19:10:46 字數 3352 閱讀 5294

visual c++ 鏈結器選項

鏈結器選項

link 是將通用物件檔案格式 (coff) 物件檔案和庫鏈結起來以建立可執行 (.exe) 檔案或動態鏈結庫 (dll) 的工具。

下表是 link.exe 選項的綜合列表。本節還包含關於以下主題的資訊:

可以通過 comment 雜注指定一些鏈結器選項。

選項 用途 @

指定響應檔案

/align

指定每一節的對齊方式

/allowbind

指定 dll 不能繫結

/allowisolation

指定清單查詢的行為。

/assemblydebug

將 debuggableattribute 新增到託管映像中。

/assemblylinkresource

建立指向託管資源的鏈結。

/assemblymodule

指定應將 microsoft 中間語言 (msil) 模組匯入到程式集中

/assemblyresource

將託管資源檔案嵌入到程式集

/base

為程式設定基址

/clrimagetype

設定 clr 映像的型別(ijw 映像、純映像或安全映像)。

/clrsupportlasterror

保留通過 p/invoke 機制呼叫的函式的上乙個錯誤**。

/clrthreadattribute

指定要應用於 clr 程式入口點的執行緒屬性。

/clrunmanagedcodecheck

/clrunmanagedcodecheck 指定鏈結器是否將 suppressunmanagedcodesecurity 屬性應用於鏈結器生成的、從託管**呼叫到本機 dll 中的 pinvoke 存根 (stub)。

/debug

建立除錯資訊

/def

將模組定義 (.def) 檔案傳遞到鏈結器

/defaultlib

在解析外部引用時搜尋指定的庫

/delay

控制 dll 的延遲載入

/delayload

導致延遲載入指定的 dll

/delaysign

對程式集進行部分簽名。

/dll

生成 dll

/driver

建立 windows nt 核心模式驅動程式

/entry

設定起始位址

/errorreport

向 microsoft 報告內部鏈結器錯誤。

/export

匯出函式

/fixed

建立只能在其首選基址載入的程式

/force

強制完成鏈結,不論符號是否無法解析或被定義了多次

/functionpadmin

建立可熱修補的映像。

/heap

設定堆的大小(以位元組為單位)

/idlout

指定 .idl 檔案和其他 midl 輸出檔案的名稱

/ignoreidl

防止將屬性資訊處理到 .idl 檔案中

/implib

重寫預設的導入庫名

/include

強制符號引用

/incremental

控制增量鏈結

/keycontainer

指定用來為程式集簽名的金鑰容器。

/keyfile

指定用來為程式集簽名的金鑰或金鑰對。

/largeaddressaware

通知編譯器應用程式支援大於 2 gb 的位址

/libpath

允許使用者重寫環境庫路徑

/ltcg

指定鏈結時**生成

/machine

指定目標平台

/manifest

建立並行清單檔案。

/manifestdependency

在清單檔案中指定 節。

/manifestfile(命名清單檔案)

更改清單檔案的預設名稱。

/map

建立對映檔案

/mapinfo

包括對映檔案中的指定資訊

/merge

合併節/midl

指定 midl 命令列選項

/noassembly

取消建立 .net framework 程式集

/nodefaultlib

在解析外部引用時忽略所有(或指定的)預設庫

/noentry

建立純資源 dll

/nologo

取消顯示啟動版權標誌

/nxcompat

將可執行檔案標記為經測試與 windows 資料執行保護功能相容。

/opt

控制 link 優化

/order

按預先確定的順序將 comdat 放置到影象中

/out

指定輸出檔名

/pdb

建立程式資料庫 (pdb) 檔案

/pdbstripped

建立不具有私有符號的程式資料庫 (pdb) 檔案

/pgd

為按配置檔案優化指定 .pgd 檔案。

/profile

生成乙個可與「效能工具」探查器結合使用的輸出檔案。

/release

在 .exe 檔案頭中設定校驗和

/safeseh

指定影象將包含安全異常處理程式表。

/section

重寫節的屬性

/stack

設定堆疊的大小(以位元組為單位)

/stub

將 ms-dos 存根 (stub) 程式附加到 win32 程式

/subsystem

通知作業系統如何執行 .exe 檔案

/swaprun

通知作業系統在執行鏈結器輸出前將它複製到交換檔案

/tlbid

允許指定鏈結器生成的型別庫的資源 id

/tlbout

指定 .tlb 檔案和其他 midl 輸出檔案的名稱

/tsaware

建立專為在終端伺服器下執行而設計的應用程式

/verbose

列印鏈結器進度訊息

/version

分配版本號

/wx

將鏈結器警告視為錯誤。

有關相關資訊,請參見編譯器控制的 link 選項。

請參見

參考設定鏈結器選項

有關生成的常見問題

其他資源

c/c++ 生成參考 http://msdn.microsoft.com/zh-cn/library/y0zzbyt4(vs.80).aspx

Visual C 編譯鏈結選項的設定

上一節說道,組合語言的 已經告一段落了,接下來我們將進入c 的世界了。但是visual c 不是被設計用來開發作業系統的。假如我們用visual c 設計乙個程式,那麼在預設情況下,它必須跑在windows下。所以我們必須做一些工作使得我們的程式能夠脫離windows執行。因此,為了達到這個目的,我...

Visual C 編譯器選項

visual c 編譯器選項 選項 目的 指定響應檔案 列出編譯器選項 ai指定在解析傳遞到 using 指令的檔案引用時搜尋的目錄 arch 使用sse 或sse2 指令生成 c 在預處理期間保留注釋 c 編譯但不鏈結 clr 啟用c 的託管擴充套件並產生在公共語言執行庫上執行的輸出檔案 d 定義...

Visual C 編譯器選項

選項 目的 指定響應檔案 列出編譯器選項 ai指定在解析傳遞到 using 指令的檔案引用時搜尋的目錄 arch 使用 sse 或sse2 指令生成 c 在預處理期間保留注釋 c 編譯但不鏈結 clr 啟用 c 的託管擴充套件並產生在公共語言執行庫上執行的輸出檔案 d 定義常數和巨集 e 將預處理器...