链接器选项

LINK.exe 将通用对象文件格式 (COFF) 对象文件和库链接起来,以创建可执行 (.exe) 文件或动态链接库 (DLL)。

下表列出了 LINK.exe 的选项。 有关 LINK 的详细信息,请参阅:

在命令行上,链接器选项不区分大小写,例如,/base 和 /BASE 的含义相同。

可以使用注释杂注指定一些链接器选项。

选项

用途

@

指定响应文件。

/ALIGN

指定每一节的对齐方式。

/ALLOWBIND

指定 DLL 不能绑定。

/ALLOWISOLATION

指定清单查找的行为。

/APPCONTAINER

指定应用是否必须在 appcontainer 进程环境中运行。

/ASSEMBLYDEBUG

DebuggableAttribute 添加到托管映像中。

/ASSEMBLYLINKRESOURCE

创建指向托管资源的链接。

/ASSEMBLYMODULE

指定应将 Microsoft 中间语言 (MSIL) 模块导入到程序集中。

/ASSEMBLYRESOURCE

将托管资源文件嵌入程序集。

/BASE

为程序设置基址。

/CGTHREADS

设置 cl.exe 线程数以在指定链接时代码生成后用于优化和代码生成。

/CLRIMAGETYPE

设置 CLR 映像的类型(IJW 映像、纯映像或安全映像)。

/CLRSUPPORTLASTERROR

保留通过 P/Invoke 机制调用的函数的上一个错误代码。

/CLRTHREADATTRIBUTE

指定要应用于 CLR 程序入口点的线程特性。

/CLRUNMANAGEDCODECHECK

指定链接器是否将 SuppressUnmanagedCodeSecurity 特性应用于链接器生成的、从托管代码调用到本机 DLL 中的 PInvoke 存根。

/DEBUG

创建调试信息。

/DEF

将模块定义 (.def) 文件传递到链接器。

/DEFAULTLIB

在解析外部引用时搜索指定的库。

/DELAY

控制 DLL 的延迟加载。

/DELAYLOAD

导致延迟加载指定的 DLL。

/DELAYSIGN

对程序集进行部分签名。

/DLL

生成 DLL。

/DRIVER

创建内核模式驱动程序。

/DYNAMICBASE

使用地址空间布局随机化 (ASLR) 功能,指定是否生成可在加载时随机重新设定基址的可执行文件映像。

/ENTRY

设置起始地址。

/errorReport

向 Microsoft 报告内部链接器错误。

/EXPORT

导出函数。

/FIXED

创建只能在其首选基址加载的程序。

/FORCE

强制完成链接,即使符号无法解析或已定义多次。

/FUNCTIONPADMIN

创建可进行热修补的映像。

/HEAP

设置堆的大小(以字节为单位)。

/HIGHENTROPYVA

指定对高熵 64 位地址空间布局随机化 (ASLR) 的支持。

/IDLOUT

指定 .idl 文件和其他 MIDL 输出文件的名称。

/IGNORE

禁止显示指定链接器警告的输出。

/IGNOREIDL

防止将特性信息处理到 .idl 文件中。

/IMPLIB

重写默认的导入库名。

/INCLUDE

强制符号引用。

/INCREMENTAL

控制增量链接。

/INTEGRITYCHECK

指定模块需要在加载时进行签名检查。

/KEYCONTAINER

指定用来对程序集进行签名的密钥容器。

/KEYFILE

指定用来对程序集进行签名的密钥或密钥对。

/LARGEADDRESSAWARE

通知编译器应用程序支持大于 2 GB 的地址

/LIBPATH

允许用户重写环境库路径。

/LTCG

指定链接时代码生成。

/MACHINE

指定目标平台。

/MANIFEST

创建并行清单文件,也可以选择将其嵌入二进制文件。

/MANIFESTDEPENDENCY

在清单文件中指定 <dependentAssembly> 节。

/MANIFESTFILE

更改清单文件的默认名称。

/MANIFESTINPUT

指定链接器要进行处理并嵌入二进制文件的清单输入文件。 可以多次使用此选项以指定多个清单输入文件。

/MANIFESTUAC

指定是否将用户帐户控制 (UAC) 信息嵌入到程序清单中。

/MAP

创建映射文件。

/MAPINFO

包括映射文件中的指定信息。

/MERGE

合并节。

/MIDL

指定 MIDL 命令行选项。

/NOASSEMBLY

取消创建 .NET Framework 程序集。

/NODEFAULTLIB

在解析外部引用时忽略所有(或指定的)默认库。

/NOENTRY

创建纯资源 DLL。

/NOLOGO

取消显示启动版权标志。

/NXCOMPAT

将可执行文件标记为经验证与 Windows 数据执行保护功能兼容。

/OPT

控制 LINK 优化。

/ORDER

按预先确定的顺序将 COMDAT 放置到映像中。

/OUT

指定输出文件名。

/PDB

创建程序数据库 (PDB) 文件。

/PDBALTPATH

使用备用位置来保存 PDB 文件。

/PDBSTRIPPED

创建没有私有符号的程序数据库 (PDB) 文件。

/PGD

为按配置文件优化指定 .pgd 文件。

/PROFILE

生成一个可与“性能工具”探查器结合使用的输出文件。

/RELEASE

在 .exe 标头中设置校验和。

/SAFESEH

指定映像将包含安全异常处理程序表。

/SECTION

重写节的特性。

/STACK

设置堆栈的大小(以字节为单位)。

/STUB

将 MS-DOS 存根程序附加到 Win32 程序。

/SUBSYSTEM

通知操作系统如何运行 .exe 文件。

/SWAPRUN

通知操作系统在运行链接器输出之前将其复制到一个交换文件。

/TLBID

指定链接器生成的类型库的资源 ID。

/TLBOUT

指定 .tlb 文件和其他 MIDL 输出文件的名称。

/TSAWARE

创建专为在终端服务器下运行而设计的应用程序。

/VERBOSE

打印链接器进度消息。

/VERSION

分配版本号。

/WINMD

允许生成 Windows 运行时元数据文件。

/WINMDFILE

指定由 /WINMD 链接器选项生成的 Windows 运行时元数据 (winmd) 输出文件的文件名。

/WINMDKEYFILE

指定用来对 Windows 运行时元数据文件进行签名的密钥或密钥对。

/WINMDKEYCONTAINER

指定用来对 Windows 元数据文件进行签名的密钥容器。

/WINMDDELAYSIGN

通过将公钥放置在 winmd 文件中,对 Windows 运行时元数据 (winmd) 文件进行部分签名。

/WX

将链接器警告视为错误。

有关详细信息,请参阅编译器控制的 LINK 选项

请参见

参考

设置链接器选项

其他资源

C/C++ 生成参考

FAQ: Building Your Program