如何编译64位程序
1. mips-linux-uclibc-gcc 怎么编译64位程序
理论上安装支持环境,之后 64 位的 gcc 编译成 32 位程序,就加 -m32 参数即可。当然还一个办法是装个 32 位的 gcc 。
另外,交叉编译也适用于 x86 架构。
不过这么编译经常会出现各种问题,所以编译 32 位的程序,最好还是用 32 位系统。
不一定重装,用 chroot 和 setarch 命令配合即可弄出一个 32 位的子系统。
2. vc6.0程序怎样编译成64位
Microsoft Platform SDK 2001年 11 月版或更高版本x0dx0aVisualC++ 6.0x0dx0a步骤一:安装最新适合xp的SDKx0dx0a通过双击SDK文件夹下面的Setup.Exe安装Microsoft Platform SDK到硬盘任意目录后,安装程序会在开始菜单中生成Microsoft Platform SDK的快捷方式。单击"start->AllPrograms->Microsoft Platform SDK for Windows Sever 2003 SP1->Open BuildEnvironment Window->Set Windows XP 64 Build Environment->Set Windows XP64 Build Environment (Debug) 此时将显示一个控制台窗口,其中带有为 64 位内部版本设置的内部版本环境。x0dx0ax0dx0a步骤二:从64位内部版本环境启动Visual C++6.0:x0dx0a启动MicrosoftPlatform SDK后,直接在命令行输入msdev/useenv,此时将显示 Visual C++ 6.0 IDE,其中已经为 64 位内部版本环境设置了 include、library和executable 目录。 (如果Msdev.exe不在路径中,请将文件夹更改到 \Microsoft Visual Studio\Common\Msdev98\Bin文件夹,然后运行 msdev/useenv)x0dx0aVisual C++启动成功后,可以通过菜单Tools->Options->Directories查看Include files和Library file的默认路径应为Microsoft Platform SDK文件夹下的include和lib文件夹,此时为打开正确的64位虚拟编译环境。否则需重启打开。x0dx0ax0dx0a步骤三:添加 64位调试配置:x0dx0a♦在 Visual C++ IDE中,打开现有的 32 位项目(例如,MyApplication)。x0dx0a♦在"Build"菜单上,单击"Configurations"。x0dx0a♦在"Configurations"对话框中,单击"add"。x0dx0a♦在"Add Project Configuration"对话框中,将"Configuration"设置为 Debug64,单击"OK",然后单击"Close"。x0dx0ax0dx0a步骤四:将活动配置设置为 64位: x0dx0a♦在"Build"菜单上,单击"Set Active Configuration"。x0dx0a♦单击"MyApplication- Win32 Debug64",然后单击"OK"。x0dx0a x0dx0a步骤五:修改编译器或链接器选项:x0dx0a♦在"Project"菜单上,单击"settings"。x0dx0a♦在"project settings"对话框中,单击"General"选项卡。在"outputdirectories"下,在"Intermediate files"框和"output files"框中键入 Debug64。x0dx0ax0dx0a♦在"C/C++"选项卡上,在"Debug info"列表中选择"ProgramDatabase(编译器选项,/Zi)"。在Project Options中去掉/GZ,加入/Wp64。x0dx0ax0dx0a♦在"Link"选项卡上,在"Project Options"框中将 /machine:I386更改为/machine:AMD64。在Object/librarymoles中加入bufferoverflowu.lib,如果不加bufferoverflowu.lib,链接时会报错。x0dx0ax0dx0a♦在"View"菜单上,单击"Workspace"。 要从项目中删除MyApplication.hpj 文件。x0dx0a x0dx0a♦生成64位程序:x0dx0a注:在32位机上只能编译连接生成64位程序,而不能进行调试。x0dx0ax0dx0a
3. 如何编译64位dll程序,有几种情况,在32位XP上用VC++6.0或者VS2010该怎么编译64位的dll。
在64位的操作系统上用vs软件编译的dll默认就是64位。
在32位XP上用VC++6.0编译64位的dll,需要安装sdk(最新版本是sdk2003),在开始菜单——sdk——open build environment window——windows server 2003 64-bit build environment——set win svr 2003 x64 build env进入命令行,从命令行调用msdev,将vc选项里的include和lib的第一个默认路径设为sdk目录下64位头文件和库的路径,编译出的dll似乎就是64位的了。这个是从网页上看到的,没实践过。
在32位XP上使用vs2010就简单多了,新建一个项目(解决方案),加入代码,设置X64,编译生成即可。
4. 如何在VS2008中编译64位程序
安装64位操作系统不是编译64位程序的必要条件,关键是要装64位程序的编译器。虽然标题写着如何在VS2008中编译,但其实2005也是类似。
1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器。点击新建解决方案平台。
2. 选择“x64”平台,点击确定按钮。
3. 这时候配置管理器中的平台已经改成刚才选择的x64了,这时候编译出来的就是64位程序了。可以在工具栏的平台下拉框中快速切换目标平台。
4. 如果在选择平台的下拉列表里找不到x64,可能是没有安装x64编译支持。在VS安装程序里再装上就可以了。
5. 如何安装和使用VS 2008的64位编译器
v
安装方法/步骤
1
首先,进入到控制面板,找到关于对应的vs08,卸载。
在控制面板中的程序和功能选项中,选择Microsoft Visual Studio Team System 2008 Team Suite - 简单中文,然后右击选择“卸载/更新”。
2
之后,进入到卸载的页面,单击“添加/删除功能”,如下图。
3
然后会进入到选项页面,在语言工具一栏中,选择Visual C++中将X64编译器和工具,如下图。
4
之后,便进入到安装的页面。等待即可。
5
在安装完成后,通过开始菜单中,即可看到“Visual Studio 2008 x64 兼容工具命令提示”。
END
配置64位编译器
1
首先,打开一个工程项目,选择“配置管理器”(或者右击项目选择属性,进入到属性页,点击“配置管理器”)
2
接着,在活动解决方案平台选项中,选择“新建”,如下图。
3
之后,在新建页面,选择平台x64(在没安装64编译器情况下,则不会有X64选项),点击“确定”。
4
最后,选择相应的64位平台,进行编译即可实现64位程序的编译。
6. vc6.0程序怎样编译成64位
Microsoft Platform SDK 2001年 11 月版或更高版本
VisualC++ 6.0
步骤一:安装最新适合xp的SDK
通过双击SDK文件夹下面的Setup.Exe安装Microsoft Platform SDK到硬盘任意目录后,安装程序会在开始菜单中生成Microsoft Platform SDK的快捷方式。单击"start->AllPrograms->Microsoft Platform SDK for Windows Sever 2003 SP1->Open BuildEnvironment Window->Set Windows XP 64 Build Environment->Set Windows XP64 Build Environment (Debug) 此时将显示一个控制台窗口,其中带有为 64 位内部版本设置的内部版本环境。
步骤二:从64位内部版本环境启动Visual C++6.0:
启动MicrosoftPlatform SDK后,直接在命令行输入msdev/useenv,此时将显示 Visual C++ 6.0 IDE,其中已经为 64 位内部版本环境设置了 include、library和executable 目录。 (如果Msdev.exe不在路径中,请将文件夹更改到 \Microsoft Visual Studio\Common\Msdev98\Bin文件夹,然后运行 msdev/useenv)
Visual C++启动成功后,可以通过菜单Tools->Options->Directories查看Include files和Library file的默认路径应为Microsoft Platform SDK文件夹下的include和lib文件夹,此时为打开正确的64位虚拟编译环境。否则需重启打开。
步骤三:添加 64位调试配置:
♦在 Visual C++ IDE中,打开现有的 32 位项目(例如,MyApplication)。
♦在"Build"菜单上,单击"Configurations"。
♦在"Configurations"对话框中,单击"add"。
♦在"Add Project Configuration"对话框中,将"Configuration"设置为 Debug64,单击"OK",然后单击"Close"。
步骤四:将活动配置设置为 64位:
♦在"Build"菜单上,单击"Set Active Configuration"。
♦单击"MyApplication- Win32 Debug64",然后单击"OK"。
步骤五:修改编译器或链接器选项:
♦在"Project"菜单上,单击"settings"。
♦在"project settings"对话框中,单击"General"选项卡。在"outputdirectories"下,在"Intermediate files"框和"output files"框中键入 Debug64。
♦在"C/C++"选项卡上,在"Debug info"列表中选择"ProgramDatabase(编译器选项,/Zi)"。在Project Options中去掉/GZ,加入/Wp64。
♦在"Link"选项卡上,在"Project Options"框中将 /machine:I386更改为/machine:AMD64。在Object/librarymoles中加入bufferoverflowu.lib,如果不加bufferoverflowu.lib,链接时会报错。
♦在"View"菜单上,单击"Workspace"。 要从项目中删除MyApplication.hpj 文件。
♦生成64位程序:
注:在32位机上只能编译连接生成64位程序,而不能进行调试。
7. C语言如何编译出64位的可执行文件
可以用dev-cpp 编译器(64位的版本),可以选择输出32或者64位的可执行文件。
8. 如何编写64位应用程序
64位程序是指在64位操作系统的编写的程序,根使用什么语言没有太多的关系,有些数据类型的位数可能有变化。
64位操作系统是指特别为64位架构计算机系统而设计的操作系统。“位”,简单地理解就是CPU的寻址空间,实际上包括整个计算机系统架构数据处理位数。
用 Visual C++ 创建在 64 位 Windows 操作系统中运行的应用程序时,应注意以下问题:
在 64 位 Windows 操作系统中,int 和 long 是 32 位值。
在 64 位 Windows 操作系统中,size_t、time_t 和 ptrdiff_t 是 64 位值。
在 32 位 Windows 操作系统中,time_t 是 32 位值。
应注意代码在哪里采用 int 值和将其作为 size_t 值或 time_t 值处理。数字有可能增长得比 32 位数大,并且数据在被传递回 int 存储时有可能被截断。
%x(十六进制 int 格式)printf 修饰符在 64 位 Windows 操作系统中不按预期的那样工作;它只对传递给它的值的前 32 位进行操作。
Windows 32 位操作系统使用 %I32x 显示整数。
Windows 64 位操作系统使用 %I64x 显示整数。
%p(指针的十六进制格式)在 64 位 Windows 操作系统中按预期的那样工作。
9. 如何编译64位 boost类库
64位windows平台,编译环境是VS2005,进入Visual Studio 2005 x64 Win64 Command Prompt(单纯的cmd也不一定不行,我没试)。把bjam.exe放在boost根目录下,进入根目录,执行:
bjam --toolset=msvc address-model=64 --with-thread stage
bjam --toolset=msvc address-model=64 --with-date_time stage
关键选项:“address-model=64 ”
64位Linux平台,使用gcc编译。进入boost根目录,执行:
./bjam --toolset=gcc --with-thread stage
./bjam --toolset=gcc --with-date_time stage
linux平台下倒是简单,不过网上有篇文章介绍用如下命令编译,不知道是多此一举,还是适用于某些情况(非64位linux主机?)。
./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-thread stage
./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-date_time stage
唉。命令都很简单,可浪费了我不少时间。usage根本没写,去看boost build的嘛,页数n多不说,看完之后能否找到答案还是未知数。网上相关资料很少而且大多南辕北辙,只好一直搜索+尝试。其实我只是想要个64位版本的库而已,这应该不是啥稀罕的需求吧?
在windows平台下,编译出来的是否是64位类库,只有link 64位程序的时候才能发现。如果不是,link程序无法找到类库中定义的函数或者类。linux不知道,因为我整出来直接就是64位了,我也懒得再找一台32位linux主机折腾了。
在1.37之后的boost,如果想要使用boost::thread库,必须有boost::date_time库。当然这件事情又一如既往很酷地没有出现在容易看到的地方。而是让你链接错误后再去玩抓虫游戏。
转载,仅供参考。
10. 如何使用Xcode5为将应用编译成64位程序
使用Xcode 5可以很方便地将以前的应用编译成64位程序,基本过程如下:
1. 使用Xcode 5 打开原有项目。
2. 将支持的设备改成“iOS 7”。
3. 在“Build Setting”中将“Architectures”改成“Standard Architectures (including 64-bit)”。
4. 运行测试程序,解决编译过程出现的问题。