/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 来选择子系统和入口点。

函数 mainWinMainDllMain 是用户定义入口点的三种形式。

创建托管映像时,指定给 /ENTRY 的函数必须具有 (LPVOID var1, DWORD var2, LPVOID var3) 的签名。

有关如何定义自己的 DllMain 入口点的信息,请参阅 DLL 和 Visual C++ 运行时库行为

在 Visual Studio 开发环境中设置此链接器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“链接器”>“高级”属性页

  3. 修改“入口点”属性。

以编程方式设置此链接器选项

另请参阅

MSVC 链接器参考
MSVC 链接器选项