/ENTRY 选项将某个入口点函数指定为 .exe 文件或 DLL 的起始地址。
必须定义该函数才能使用
__stdcall
调用约定。 参数和返回值取决于程序是控制台应用程序、Windows 应用程序还是 DLL。 建议让链接器设置入口点,以便正确初始化 C 运行时库,并执行静态对象的 C++ 构造函数。
默认情况下,起始地址是 C 运行时库中的函数名称。 链接器根据程序的属性选择起始地址,如下表所示。
以下项的默认值
WinMainCRTStartup(或 wWinMainCRTStartup)
使用 /SUBSYSTEM:WINDOWS 的应用程序;调用
WinMain
(或
wWinMain
),必须定义为使用
__stdcall
_DllMainCRTStartup
一个 DLL;如果存在则调用
DllMain
,必须将其定义为使用
__stdcall
如果未指定
/DLL
或
/SUBSYSTEM
选项,则链接器会根据是定义了
main
还是
WinMain
来选择子系统和入口点。
函数
main
、
WinMain
和
DllMain
是用户定义入口点的三种形式。
创建托管映像时,指定给 /ENTRY 的函数必须具有 (LPVOID var1, DWORD var2, LPVOID var3) 的签名。
有关如何定义自己的
DllMain
入口点的信息,请参阅
DLL 和 Visual C++ 运行时库行为
。
在 Visual Studio 开发环境中设置此链接器选项
打开项目的“属性页” 对话框。 有关详细信息,请参阅
在 Visual Studio 中设置 C++ 编译器和生成属性
。
选择“配置属性”>“链接器”>“高级”属性页。
修改“入口点”属性。
以编程方式设置此链接器选项
请参阅
EntryPointSymbol
。
MSVC 链接器参考
MSVC 链接器选项