MSVC链接参数

本文介绍了在使用MSVC编译器时,如何通过编译器参数来控制链接过程,包括一些常见的链接参数及其作用。这些参数对于理解和优化C/C++项目的构建流程至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译器控制的链接操作

编译器CL没有/c选项时自动的调用linker。CL提供了一些参数控制linker。下面列出一些影响链接的CL参数。

CL参数CL传入LINK的对应参数
不是.c,.cxx,.cpp,.def的文件这些文件都被传输给link作为输入
filename.def/DEF:filename.def
/Fnumber/STACK:number
/Fdfilename/PDB:filename
/Fefilename/OUT:filename
/Fmfilename/MAP:filename
/Gy创建一个包函数(COMDATs);打开一个函数级链接
/LD/DLL
/LDd/DLL
/link余下的命令行传给linker
/MD or /MT传输默认的库名到.obj文件
/MDd or /MTd传输默认的库名到.obj文件,定义符号_DEBUG
/nologo/NOLOGO
/Zd/DEBUG
/Zi or /Z7/DEBUG
/Zl在.obj文件中忽略库名

常用链接参数

选项含义
@指定一个响应文件
/ALIGN指定每个部分对齐
/DEBUG创建调试信息
/DEBUGTYPE指定那种调试信息包括进输出文件
/DEF指定一个模块定义文件(.def)
/DEFAULTLIB当扩展引用没有找到搜索指定的库
/DELAY控制延迟装载DLL
/DELAYLOAD引起指定DLL为延迟装入
/DLL建造一个DLL
/DRIVER创建一个核心模式驱动
/DYNAMICBASESpecifies whether to generate an executable image that can be randomly rebased at load time by using the address space layout randomization (ASLR) feature.
/FIXED创建一个程序仅能在指定的基地址起点装载
/EXPORT输出一个函数
/LIBPATH在环境库搜索路径前指定一个库搜索路径
/PDB创建一个程序数据库,用于调试。
/OUT指定输出文件名
/VERSION指派版本号
/VERBOSE打印链接过程中的一切消息
/RELEASE在.exe头部加入校验

完整的参数说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值