为什么不需要/ ENTRY链接器选项?

时间:2011-12-22 09:42:54

标签: visual-c++ linker msvcrt

我注意到在VC ++控制台项目的默认链接器设置中,“入口点”保留为空。在生成的可执行文件上使用dumpbin我看到了

entry point (004110FF) @ILT+250(_mainCRTStartup)

我还检查了项目属性的命令行选项,并且没有给出“/ ENTRY”链接器选项。

那么链接器如何确定生成的可执行文件的入口点?我可以想到两个选项:

1)在CRT中有一些“#pragma comment(links,”/ enty:_mainCRTStartup“)       源代码。但我没有找到它。

2)链接器本身从“/ SUBSYSTEM:CONSOLE”选项中获取此信息。       因此,Visual Studio中的选项只会覆盖 link.exe所做的选择

你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

第二个猜测是正确的。链接器本身从给定的其他设置(例如/ subsystem:console)中获取此信息。见MSDN link。因此,只有在想要提供_mainCRTStartup以外的入口点时才需要项目属性中的选项。