一、依赖动态库说明
运行环境:VS2015、Win7 x64
利用VS2015平台创建MFC工程,生成的exe,所依赖的动态库总结如下:
编译环境 | 依赖DLL |
---|---|
Debug-使用MFC动态库-C运行库MDd | mfc140ud.dll, msvcp140d.dll, vcruntime140d.dll,ucrtbased.dll, api-ms-win-core-timezone-l1-1-0.dll, api-ms-win-core-file-l1-1-0.dll, api-ms-win-core-file-l1-2-0.dll, api-ms-win-core-localization-l1-2-0.dll, api-ms-win-core-synch-l1-2-0.dll, api-ms-win-core-processthreads-l1-1-1.dll, 可能根据实际项目还会缺少一些api-ms-win-##### |
Debug-使用MFC静态库-C运行库MTd | 不需要动态库 |
Release-使用MFC动态库-C运行库MDd | mfc140u.dll, msvcp140.dll, vcruntime140.dll,ucrtbase.dll, api-ms-win-core-timezone-l1-1-0.dll, api-ms-win-core-file-l1-1-0.dll, api-ms-win-core-file-l1-2-0.dll, api-ms-win-core-localization-l1-2-0.dll, api-ms-win-core-synch-l1-2-0.dll, api-ms-win-core-processthreads-l1-1-1.dll, 可能根据实际项目还会缺少一些api-ms-win-##### |
Release-使用MFC静态库-C运行库MTd | 不需要动态库 |
如果选择编译成x86平台运行exe,请下载32位的DLL,可以在本机电脑的SysWoW64文件夹中找到这些DLL;如果选择编译成x64平台运行exe,请下载64位的DLL,可以在本机电脑的System32文件夹中找到这些DLL。
关于64位系统上System32和SysWoW64文件夹的说明。
SysWow64文件夹,是64位Windows,用来存放32位Windows系统文件的地方
System32文件夹,是64位Windows,用来存放64位Windows系统文件的地方
二、判断系统32位还是64位
// 方法一
SYSTEM_INFO si;
GetNativeSystemInfo(&si);
if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||
si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64)
{
//64 位操作系统
AfxMessageBox(_T("x64平台或IA64平台"));
}
else
{
// 32 位操作系统
AfxMessageBox(_T("x86平台"));
}
// 方法二
BOOL bWow64;
IsWow64Process(GetCurrentProcess(), &bWow64);
if (bWow64)
{
// 是否是运行在64位系统上的32位程序
AfxMessageBox(_T("运行在64位系统上的32位程序"));
}
else
{
AfxMessageBox(_T("运行在32位系统上的32位程序, 或者运行在64位系统上的64位程序"));
}