Han*_*ant 10
在"解决方案资源管理器"窗口,"属性","链接器","命令行"中右键单击项目 在"其他选项"框中键入/详细.重建您的项目."输出"窗口现在显示链接器找到符号的位置的跟踪.搜索"winmain"以找到:
1> Searching c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\lib\mfcs90ud.lib:
1> Found _wWinMain@16
1> Referenced in msvcrtd.lib(wcrtexew.obj)
1> Loaded mfcs90ud.lib(appmodul.obj)
Run Code Online (Sandbox Code Playgroud)
请注意库名称,mfcs90ud.lib是一个静态链接库.如果您搜索"mfcs90ud.lib",那么您还可以看到该库是如何被引用的:
1>Starting pass 1
1>Processed /DEFAULTLIB:mfc90ud.lib
1>Processed /DEFAULTLIB:mfcs90ud.lib
1>Processed /DEFAULTLIB:msvcrtd.lib
etc..
Run Code Online (Sandbox Code Playgroud)
如果在MFC源代码中搜索"mfcs",您将找到如何注入此/ defaultlib选项.从afx.h:
#ifdef _DEBUG
#pragma comment(lib, "mfc" _MFC_FILENAME_VER "ud.lib")
#pragma comment(lib, "mfcs" _MFC_FILENAME_VER "ud.lib")
#else
#pragma comment(lib, "mfc" _MFC_FILENAME_VER "u.lib")
#pragma comment(lib, "mfcs" _MFC_FILENAME_VER "u.lib")
#endif
Run Code Online (Sandbox Code Playgroud)
长话短说,一个MFC应用程序链接两个库.Mfc90u.lib是MFC的DLL版本的导入库.Mfcs90u.lib是一个静态链接库,包含链接到可执行文件的位.包括WinMain().
| 归档时间: |
|
| 查看次数: |
1366 次 |
| 最近记录: |