【发布时间】:2010-12-07 16:18:12
【问题描述】:
这是一系列至少两个密切相关但又截然不同的问题的一部分。我希望通过单独询问他们是正确的。
我正在尝试让我的 Visual C++ 2008 应用程序在没有 C 运行时库的情况下工作。这是一个 Win32 GUI 应用程序,没有 MFC 或其他花哨的东西,只是普通的 Windows API。
所以我将 Project Properties -> Configuration -> C/C++ -> Advanced -> Omit Default Library Names 设置为 Yes (compiler flag /Zl) 并重建。
然后链接器抱怨未解析的外部_WinMainCRTStartup。很公平,我可以告诉链接器使用不同的入口点,比如MyStartup。根据我在网上收集到的信息,_WinMainCRTStartup 做了一些初始化工作,我可能希望 MyStartup 做其中的一部分。
所以我的问题是:_WinMainCRTStartup 执行哪些功能,如果我不使用 CRT,我可以省略哪些功能?
如果你对这些东西很了解,也请看看my other question。谢谢!
旁白:我为什么要首先这样做?
- 我的应用没有明确使用任何 CRT 函数。
- 我喜欢精益求精的应用。
- 它会教给我一些新东西。
【问题讨论】:
标签: visual-c++ crt entry-point winmain