社区
工具平台和程序库
帖子详情
怎么样在64位Windows下编写64位C语言程序?
zxgatnudt
2008-06-09 11:22:38
现在的目标是有一个32位的C语言(也有C++的)程序,没有MFC函数
需要移植到64位Windows上去, 已经在Linux下编译通过
现在找不到合适的编译环境,VC6试过肯定不行了;
VS2005也试过,但是新手不太会配置 ,也不知道VS2005分不分64位和32位的,装的版本是别人给的
请高手给个办法,我的操作系统是64位Visita
...全文
1859
15
打赏
收藏
怎么样在64位Windows下编写64位C语言程序?
现在的目标是有一个32位的C语言(也有C++的)程序,没有MFC函数 需要移植到64位Windows上去, 已经在Linux下编译通过 现在找不到合适的编译环境,VC6试过肯定不行了; VS2005也试过,但是新手不太会配置 ,也不知道VS2005分不分64位和32位的,装的版本是别人给的 请高手给个办法,我的操作系统是64位Visita
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liubingqian
2008-06-12
打赏
举报
回复
没人说64位编译器的long就一定也是8字节。
zxgatnudt
2008-06-12
打赏
举报
回复
在XP X64下写的动态库,调用了好多X86的系统动态库,还有的找不到,怎么解决
sheshuyiwo_xiajie
2008-06-11
打赏
举报
回复
call "f:\Program Files\Microsoft Platform SDK\SetEnv.Cmd" /XP64 /RETAIL
call "f:\Program Files\Microsoft DirectX 9.0 SDK (April 2005)\Utilities\Bin\dx_setenv" AMD64
Set Lib=f:\WINDDK\3790.1830\lib\wnet\amd64;%Lib%
Set Include=f:\WINDDK\3790.1830\inc\wnet;%Include%
start "" "f:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE" /useenv
写一个批处理就OK了
zxgatnudt
2008-06-11
打赏
举报
回复
前面的所有办法都行不通
最后装了个64位的XP可以编译了
但是指针类型的变量是8字节长,long类型的还是4字节
请问怎么回事?
是64windows下就是这样还是我哪里没有设置好
aruaru77
2008-06-10
打赏
举报
回复
哈 前面已经有大侠说得很清楚啦,我就不多啰嗦拉~
只为你名字后面的四个字母,上来顶一下^^
珍惜生命远离CPP
2008-06-10
打赏
举报
回复
直接设置64位编译模式既可
在win32上也能编译出win64位的程序
xieqidong
2008-06-10
打赏
举报
回复
看看这个地方:http://blog.csdn.net/xieqidong/category/377472.aspx
帅得不敢出门
2008-06-10
打赏
举报
回复
为16、32、64位架构编写可移植代码
http://www.cndw.com/tech/program/2006042152635.asp
zhangbin_115
2008-06-10
打赏
举报
回复
拜读
zxgatnudt
2008-06-10
打赏
举报
回复
[Quote=引用 5 楼 stonezhong_2008 的回复:]
重新贴图
第一步
第二步
[/Quote]
这个当然试过了,编译会报错的
stonezhong_2008
2008-06-10
打赏
举报
回复
重新贴图
第一步
第二步
stonezhong_2008
2008-06-10
打赏
举报
回复
用Visual Studio 2005即可。
假设你已经建好了VS2005的Project。
第一步,到Configuration Manager中点击"Active solution Platform"下拉框,选<New...>见图1
第二步,在New Solution Platform中选x64就可以了见图2
fox000002
2008-06-10
打赏
举报
回复
问 MSDN
里面的编译64位程序部分
fibbery
2008-06-09
打赏
举报
回复
vs2008好像可以,编译的方式有x64的,但是我在我的虚拟机上怎么也没实现!共同研究!
K行天下
2008-06-09
打赏
举报
回复
事实上指针大小和整形相同。64位系统sizeof(void*) == 8 and sizeof(int) 通常保持4。忽略可能会导致的不正确分配和冲突。
依赖某一字节按机器语言排序。这对位设置的执行特别重要,因为位集合(bitset)可以是字节,整形或者长整形。
使用长形推测他和int同样大,直接转换这种类型 可能导致几乎不可发现的问题。
堆变量排列。堆变量有时可以不定位在8位界面。如果直接把这样的变量换成64位变量对系统可能碰到些麻烦。但是如果你把64位变量(长整型或双整形)转换为堆却保证绝对一致。堆分配的内存也是一致。
不同结构和阶层的排列规则。64位组织结构通常被排列在64位界面。这导致在IPC,网络(network)和磁盘(disk)共享二进制数据时出现问题。打包数据结构节省资源时如果不考虑排列因素可能会造成问题。
指针运算,64位指针增量为32位指针,反之亦然。64位指针变为32位增8字节,32位指针变为64位减少4字节。
缺少函数返回值时默认为整型(int),这可能造成值短缺。现在回头来看软件端口安全目录,我们能。。。
参考:http://blog.minidx.com/2007/10/08/9.html
另外:http://blog.chinaunix.net/u/553/showart.php?id=115776 介绍的不错,可以看看
c语言
获取 CPU序列号(CPUID) 硬盘序列号 (vs2010工程)支持
64位
编译
本项目是一个基于
C语言
的VS2010工程,特别之处在于它不仅适用于32位环境,还支持
64位
编译。以下是关于这个项目及其涉及的知识点的详细说明: 1. **CPU序列号**:CPU序列号是处理器的一个唯一标识符,由制造商分配。...
Windows
程序
设计.chm
本书介绍了在Microsoft
Windows
98、Microsoft
Windows
NT 4.0和
Windows
NT 5.0下
程序
写作的方法。这些
程序
用
C语言
编写
并使用原始的
Windows
Application Programming Interface(API)。
masm for
windows
2015
2015年的版本是针对
Windows
8.1
64位
系统优化的,确保在这一环境下运行的高效性和兼容性。 **二、MASM与
64位
Windows
8.1** 在
Windows
8.1
64位
系统上使用MASM,开发者可以充分利用
64位
处理器提供的额外寄存器和更大...
VC++6.0中文版安装版(win7可用)
VC++6.0的集成开发环境提供了
编写
、编译和调试
C语言
程序
的完整流程,非常适合初学者上手练习。 在压缩包文件列表中,"计算机等级考试
C语言
上机软件_VC++6.0中文版[win7专用]by-hsxtec.exe"是安装
程序
的文件名。其中...
VESA 图形编程
3. **
C语言
接口**:SVGAC.C可能提供了
C语言
的VESA API,方便
程序
员在更高级别的编程环境中使用,比如
Windows
的GDI(Graphics Device Interface)或Linux的X Window System,通过这些API可以访问VESA功能。...
工具平台和程序库
24,860
社区成员
27,333
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章