当前位置:首页 » 编程软件 » mfc32位编译64位

mfc32位编译64位

发布时间: 2022-03-03 02:32:17

❶ MFC OpenGL程序,32位平台能编译,64位平台编译不通过

你还是用的32的lib 所以出现链接错误

❷ visual c++ 分32位系统和64位系统么

Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。

Microsoft Visual C++ 1.0
集成了MFC2.0,是Visual C++第一代版本,1992年推出,可同时支援16位处理器与32位处理器版,是Microsoft C/C++ 7.0的更新版本。
Microsoft Visual C++ 1.5
集成了MFC2.5,增加了“目标文件链接嵌入 (OLE)2.0 和支持MFC的开放式数据库链接(ODBC)。这个版本只有16位的,也是第一个以CD-ROM为软件载体的版本。这个版本也没有所谓“标准版”。它是最后一个支持16位软件编程的软件,也是第一个支持基于x86机器的32位编程软件。
Microsoft Visual C++ 2.0
集成了MFC 3.0,第一个只发行32位的版本。这个版本提前发行了,几乎成了一个“丢失的版本”。这是因为那个时候Windows 95(开发代码为"Chicago")还没有发行,而Windows NT又只占有很小的市场份额。该版本用户可以通过微软公司的订阅服务(Microsoft Subscription Service)升级至2.1和2.2版本。微软公司在这个版本中集成并升级了Visual C++1.5,作为2.0版本(Visual C++ 1.5升级后版本号:1.51)以及2.1版本(Visual C++1.5升级后版本号:1.52)的一部分。Visual C++ 2.x附带了16位和32位版本的CDK,同时支持Win32s的开发。Visual C++ 2.2及其后续版本不再升级Visual C++ 1.5(尽管它一直被集成至Visual C++ 4.x)。尽管出生的比Windows 95早,这个版本的发行日期还是非常接近Windows 95,可是当Windows 95发行时, Visual C++ 4.0也已经发行了。因此很多程序开发者直接从1.x过渡到4.0,把2.x跳过去了。
Microsoft Visual C++ 4.0
集成了MFC4.0,这个版本是专门为Windows 95以及Windows NT设计的。用户可以通过微软公司的订阅服务(MicrosoftSubscription Service)升级至4.1和4.2版本(此版本不再支持Win32s开发)。
Microsoft Visual C++ 5.0
集成了MFC 4.21,是4.2版以来比较大的一次升级。
Microsoft Visual C++ 6.0
集成了MFC6.0,于1998发行。发行至今一直被广泛地用于大大小小的项目开发。但是,这个版本在WindowsXP下运行会出现问题,尤其是在调试模式的情况下(例如:静态变量的值并不会显示)。 这个调试问题可以通过打一个叫“Visual C++ 6.0Processor Pack”的补丁来解决。奇怪的是,这个网页强调用户也必须运行Windows 98、Windows NT4.0、或Windows 2000。这个C++版本对win7的兼容性非常差,有大大小小的兼容性问题。微软不推荐安装在windows7上。
MicrosoftVisual C++ .NET 2002
也即Visual C++ 7.0,于2002年发行,集成了MFC7.0,支持链接时代码生成和调试执行时检查。这个版本还集成了Managed Extension for C++,以及一个全新的用户界面(与Visual Basic和Visual C#共用)。从这个版本开始,所有的API形式上都被定义成位数无关的,并且开始支持原生64位软件的开发。
MicrosoftVisual C++ .NET 2003
也即 Visual C++ 7.1,集成了MFC 7.1,于2003年发行,是对Visual C++ .NET 2002的一次重大升级。
MicrosofteMbedded Visual C++
用于Windows CE操作系统。Visual C++作为一个独立的开发环境被Microsoft Visual Studio 2005所替代。
MicrosoftVisual C++ 2005
也即Visual C++ 8.0,集成了MFC 8.0,于2005年11月发布。这个版本引进了对C++/CLI语言和OpenMP的支持。
MicrosoftVisual C++ 2008
也即Visual C++ 9.0,于2007年11月发布。这个版本支持.NET 3.5。从这个版本开始,微软放弃了对编写Win9x架构系统上的软件的支持。此版本更加稳定。VC++2008是目前最稳定版本。
MicrosoftVisual C++ 2010
Visual C++ 10.0,2009年发布,新添加了对C++11标准引入的几个新特性的支持。
MicrosoftVisual C++ 2012
Visual C++ 11.0, 2012年5月26日发布,支持.net4.5 beta,并实现go live。只能安装于win7或者更高的windows操作系统(如最新发布的windows8等)。可以开发windows8专用的Modern UI风格的应用程序。相比2010又添加了少量对C++11标准引入的新特性的支持。
MicrosoftVisual C++ 2013
Visual C++ 12.0, 2013年8月发布,可以看作是Visual C++ 11.0的升级版。这个版本相对于2012添加了大量对C++11标准的支持。可以开发windows8.1专用的Modern UI风格的应用程序(但却不支持windows8,支持windows8.1)。开发环境亦内置了源代码染色的功能。
最新稳定版本(亦适用于2013)
Visual C++ 被整合在Visual Studio之中,但仍可单独安装使用。
参考资料:网络

❸ MFC问题:在一个程序中有64位、32位和8位三种异或,这样在程序中出现了数据类型的转换问题,求指导怎么解决

具体一些描述啊。
如果8位的需要和64位的进行异或运算,最好是定义一个INT64 cls8=0x00000f;用它先位与8位,然后直接全部使用64位运算,这样比较安全。但异或同或运算。。貌似会有问题,必须严格位运算,因为补0会有不同的结果。

❹ VC6.0开发的32位MFC DLL 怎么转成64位的程序

要求:
Microsoft Platform SDK 2001 年 11 月版或更高版本
Visual C++ 6.0
使用 Visual C++ 6.0 IDE 生成 64 位应用程序:
设置 64 位内部版本环境变量:
通过双击SDK文件夹下面的Setup.Exe安装Microsoft Platform SDK 到硬盘任意目录后,安装程序会在开始菜单中生成Microsoft Platform SDK的快捷方式。单击“start->All Programs->Microsoft Platform SDK for Windows Sever 2003 SP1->Open Build Environment Window->Set Windows XP 64 Build Environment->Set Windows XP 64 Build Environment (Debug) 此时将显示一个控制台窗口,其中带有为 64 位内部版本设置的内部版本环境。
从64位内部版本环境启动Visual C++6.0:
启动Microsoft Platform SDK后,直接在命令行输入msdev/useenv,此时将显示 Visual C++ 6.0 IDE,其中已经为 64 位内部版本环境设置了 include、library 和 executable 目录。
注意 如果 Msdev.exe 不在路径中,请将文件夹更改到 \Microsoft Visual Studio\Common\Msdev98\Bin 文件夹,然后运行 Msdev.exe。
Visual C++启动成功后,可以通过菜单Tools->Options->Directories查看Include files和Library file的默认路径应为Microsoft Platform SDK文件夹下的include和lib文件夹。
添加 64 位调试配置:
1. 在 Visual C++ IDE 中,打开现有的 32 位项目(例如,MyApplication)。
2. 在“Build”菜单上,单击“Configurations”。
3. 在“Configurations”对话框中,单击“add”。
4. 在“Add Project Configuration”对话框中,将“Configuration”设置为 Debug64,然后在“Copy settings from”列表中单击“MyApplication– Win32 Debug”。
5. 要添加配置,单击“OK”,然后单击“Close”。
将活动配置设置为 64 位:
1. 在“Build”菜单上,单击“Set Active Configuration”。
2. 单击“MyApplication- Win32 Debug64”,然后单击“OK”。
修改编译器或链接器选项:
一些 Visual C++ 6.0 编译器或链接器选项不适用于 64 位编译器或链接器。要修改这些选项,请执行下列步骤:
1. 在“Project”菜单上,单击“settings”。
2. 在“project settings”对话框中,单击“General”选项卡。在“output directories”下,在“Intermediate files”框和“output files”框中键入 Debug64。
3. 在“C/C++”选项卡上,在“Debug info”列表中选择“Program Database(编译器选项,/Zi)”。在Project Options中去掉/GZ,加入/Wp64。
4. 在“Link”选项卡上,在“Project Options”框中将 /machine:I386 更改为 /machine:AMD64。在Object/library moles中加入bufferoverflowu.lib。
5. 在“View”菜单上,单击“Workspace”。
6. 要从项目中删除 MyApplication.hpj 文件,请在“Workspace”窗口中单击“MyApplication.hpj”文件,然后按 Delete 键。注意 此文件可能已经删除。
生成64位程序:
此时所有配置均已更改完毕,可直接通过F7或build菜单进行编译连接获得所需要的可执行程序或lib文件。
注:在32位机上只能编译连接生成64位程序,而不能进行调试。要调试64位程序必须在64位机上通过专用的调试工具WinDbg(可在微软网站免费下载)进行调试。

❺ mfc 32位程序中,64位整数与字符串怎么相互转换

简单写了个程序,若满意请及时采纳,谢谢
int main()
{
char st[]="9223372036854775808"; //字符串转64
unsigned __int64 ui64;
sscanf(st,"%I64u",&ui64);
printf("%I64u\n",ui64);

char ss[35]; //64转字符串
sprintf(ss,"%I64u",ui64) ;
printf("%s\n",ss);
return 0;
}

❻ mfc 判断目标 程序 多少位 32 64

你可以参考微软的代码呀;方法是判断当前进程是否运行在WOW64下,
首先你的程序要按x86方式去编译链接,得到的就是32位的程序了,32位程序要运行在64位系统下时,需要WOW64子系统的支持,所以用这个特性就可以判断出当前系统是不是64位了;如果IsWow64返回TRUE,那就表示当前程序运行在WOW64下,就是说当前系统是64位的

#include <windows.h>

typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);

LPFN_ISWOW64PROCESS
fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(
GetMoleHandle("kernel32"),"IsWow64Process");

BOOL IsWow64()
{
BOOL bIsWow64 = FALSE;

if (NULL != fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
{
// handle error
}
}
return bIsWow64;
}

❼ 小弟的电脑是64位的,请问编MFC的win32和win64时,指针的大小一样么 谢谢。

指针非法访问,你试试用静态链接的方式,编译你的dll,然后再发给其他电脑验证。动态链接编译的话,需要其他电脑也要有MFC的支持库。

❽ win32代码怎么在64位机器上运行 mfc

没有太懂您的意思,您是指用mfc编写的win32程序怎么在64位win下运行吗?

我对winxp64不了解,win7x64会自动识别出PE32文件,WOW64子系统会创建出32位环境

❾ 32位机上用vs2008开发的c++程序如何能在64位系统下运行

正常来说和在32位系统上运行不会有区别。

绝大多数32位Windows程序都是可以在64位Windows上运行的(VS本身也是一个32位的软件)。64位Windows会通过WOW64模拟32位程序的运行环境来运行32位程序(就像32位Windows通过WOW模拟16位运行环境来运行16位程序一样)。这里对于程序来说唯一一个显着区别就是32位Windows上32位程序默认只有2GB的用户地址空间,最多能设置成3GB。而WOW64里运行的32位程序可以使用4GB地址空间。但是绝大多数程序并不会因为这个区别产生异常。

不过和32位Windows上一样,运行VC++编写的32位程序可能会需要32位的C运行库的dll。也就是可能要装那个Microsoft Visual C++ 2008 Redistributable Package (x86)才能正常工作。

另外VS2008可以直接生成64位的可执行程序。也就是这个程序在本机没办法用,只有在64位系统里可以跑。当然默认情况下跑程序的那个系统上要有64位的C运行库的dll。

❿ 编写的mfc程序在win7(32位和64位)下可运行,在xp下却提示不是有效的win32程序

XP32位不认识64位的程序

热点内容
javasocket读取 发布:2025-01-19 16:59:48 浏览:336
魅族路由器在哪里设置密码 发布:2025-01-19 16:59:45 浏览:657
经济与发展数据库 发布:2025-01-19 16:59:44 浏览:727
出国访问夺权 发布:2025-01-19 16:57:22 浏览:591
vb打开共享文件夹 发布:2025-01-19 16:57:11 浏览:484
怎么查询手机wifi密码 发布:2025-01-19 16:41:31 浏览:187
linux编辑图片 发布:2025-01-19 16:37:55 浏览:167
sql数据对比 发布:2025-01-19 16:32:09 浏览:232
magnet下载ftp 发布:2025-01-19 16:27:07 浏览:318
注册密码下划线是什么意思 发布:2025-01-19 16:23:58 浏览:806