针对32位环境进行编程与针对64位环境/构建配置进行编程

时间:2010-06-09 03:35:22

标签: visual-studio winapi build-process build 64-bit

我最近使用多个构建配置(Release / Debug,Win32 / x64)查看了一些相同的代码(示例MS Visual Studio C ++项目)。

我的问题:有什么区别?我想我理解Release / Debug(Release =项目的最终版本,Debug =用于在调试器中运行的版本),但是在为Win32 / x64平台构建不同版本时需要考虑哪些事项?是否有任何编码差异,或者这只会影响最终将相同代码构建到机器代码中的方式?

我知道有不同的库文件,具体取决于您是使用32位还是64位系统......所有这些差异是否只是机器代码?一个32位的库文件及其相应的64位库文件是两个具有完全相同功能的文件,它们是从最初的相同源代码构建的,只是它们的机器代码实现不同吗?

谢谢!

- 拉塞尔

2 个答案:

答案 0 :(得分:0)

x32的占地面积较小。 “单词”较小(32位对64位)。通常,x64位操作系统非常棒,因为它们允许应用程序使用超过4 GB的RAM。但是,除非您使用像数据库这样的大型软件,否则32x通常运行得更快,效率更高,尤其是在x64位操作系统上。

答案 1 :(得分:0)

代码的编写方式可能存在差异,但是需要注意的是,大多数代码都很容易编写,因此它可以编译并运行为32位或64位可执行文件。大多数问题出现在/如果您执行诸如假定Windows类型之间的相似性之类的事情(例如,DWORD将保存指针 - 在32位代码中为真但在64位代码中不是。)

另请注意,32位编译器的最后几次迭代已经发出警告,您可以为不能移植到64位执行的代码启用(这看起来非常有效和准确)。

相关问题