2011-12-22 22 views
0

我注意到,在VC++控制台项目的默认链接器设置中,“入口点”保留为空。上生成的可执行文件使用DUMPBIN我看到为什么不需要/ ENTRY链接器选项?

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

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

那么链接器如何确定生成的可执行文件的入口点?我能想到的2种选择:

1)有一些“的#pragma评论(连接 “/ enty:_mainCRTStartup”)在CRT 源代码安葬,但我没有找到它

。 2)连接器本身从派生此信息“/子系统:CONSOLE”选项 因此,在Visual Studio中的选项将只是覆盖由LINK.EXE

所做的选择,你有什么想法

+0

对不起,我自己找到答案。只是分享我发现的: 我的第二个猜测是正确的。链接器本身从给出的其他设置(例如/ subsystem:console)中获取此信息。请参阅MSDN [链接](http://msdn.microsoft.com/en-us/library/f9t8842e(v = VS.100).aspx) 因此,项目属性中的选项仅在需要提供_mainCRTStartup以外的入口点。 – user1111407 2011-12-22 09:59:03

+0

您应该添加您的评论作为您自己问题的答案,然后在系统允许时接受它。 – 2011-12-27 09:23:41

回答

0

第二个猜测是正确的。链接器本身派生了这个来自其他设置的信息(例如, /子系统:控制台)。请参阅MSDN link。因此只有在您想要提供除_mainCRTStartup以外的入口点时才需要项目属性中的选项。

相关问题