这是至少两个密切相关但不同的问题系列的一部分。我希望通过分开提问它们,能做对的事情。
我试图让我的Visual C++ 2008应用程序在没有C运行库的情况下正常工作。它是一个没有MFC或其他花哨东西的Win32 GUI应用程序,只是纯Windows API。
因此,我将 项目属性 -> 配置 -> C/C++ -> 高级 -> 省略默认库名称 设置为 是(编译器标志 /Zl
),并重新构建。
然后,链接器抱怨未解析外部符号_WinMainCRTStartup
。可以理解,我可以告诉链接器使用另一个入口点,比如MyStartup
。从我在网上收集到的信息来看,_WinMainCRTStartup
执行了一些初始化操作,我可能希望MyStartup
执行其中的一部分。
因此,我的问题是:_WinMainCRTStartup
执行哪些功能,如果我不使用CRT,我可以省略其中的哪些功能?
如果您对此有所了解,请再看一下我的另一个问题。谢谢!
附:我为什么要这样做?
- 我的应用程序没有明确使用任何CRT函数。
- 我喜欢精简的应用程序。
- 这会教会我一些新东西。