/ENTRY(入口点符号)
/ENTRY:function
参数
函数
一个函数,为 .exe 文件或 DLL 指定用户定义的起始地址。
备注
/ENTRY 选项将某个入口点函数指定为 .exe 文件或 DLL 的起始地址。
必须定义该函数才能使用 __stdcall
调用约定。 参数和返回值取决于程序是控制台应用程序、Windows 应用程序还是 DLL。 建议让链接器设置入口点,以便正确初始化 C 运行时库,并执行静态对象的 C++ 构造函数。
默认情况下,起始地址是 C 运行时库中的函数名称。 链接器根据程序的属性选择起始地址,如下表所示。
函数名称 | 默认值为 |
---|---|
mainCRTStartup(或 wmainCRTStartup) | 使用 /SUBSYSTEM:CONSOLE 的应用程序;调用 main (或 wmain ) |
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。