【发布时间】:2011-12-09 16:38:32
【问题描述】:
我正在创建 Win32 应用程序,我有两个项目。
第一个是包含_tWinMain()函数的静态库,它是Win32应用程序的入口点。
另一个是链接此.lib 的应用程序。这样,应用程序就不必创建自己的 _tWinMain() 函数,因为它位于 .lib 文件中。
首先,我构建了静态库。然后我构建应用程序。问题是当我开始调试(F5)时,窗口显示然后立即关闭(在调试或发布配置中)。当我在没有调试(Ctrl+F5)的情况下启动程序或仅打开 .exe 文件时不会出现此问题。
是否可以在静态库中有入口点时进行调试?
【问题讨论】:
-
你的依赖会不会有点乱? _tWinMain() 如何调用它不知道存在的应用程序?
-
有可能。 lib 中的 _tWinMain() 只需要一个函数的声明。并且该函数的定义可以在应用程序中完成。
-
应用程序即使没有声明 _tWinMain() 也能工作(当然没有调试),因为编译器不寻找函数声明,而是链接器寻找它的定义。调试时,无论_tWinMain()是否被声明,应用程序都会退出。
-
如果你解决了,写一个答案
标签: c++ visual-studio-2010 debugging entry-point