我有几个关于 x64 和 x86 系统的问题
我在 qt 4.7 中编写了一个 C++ 应用程序,通常我将 int 用于整数等。
如果我想将此应用程序转换为 x64 位,我应该怎么做?
我应该只使用不同的编译器选项构建它还是应该更改我的代码中的某些内容
另一个问题,如果我下载一个开源应用程序并在 Linux 中构建它,它是 x64 还是 x86 的架构,我的意思是如果我在 x64 位 Linux 中构建源代码,我将得到一个 x64 应用程序,如果我构建x86 位 Linux 中的源代码我将获得一个 x86 应用程序
最佳答案
构建的类型应该取决于您正在构建的编译器和架构。
也就是说,应该(应该)编写代码以便支持具有不同位深度的构建。
例如,如果您使用 long
声明整数变量,则变量的大小会有所不同(取决于体系结构)。如果您改为使用 std::int32_t
或 std::int64_t
声明它,则在架构之间切换时大小将保持不变。
除了位深度,您还应该确保任何依赖于字节顺序的代码继续正确运行(除了位深度和字节顺序之外,可能还有其他需要注意的因素)。
总而言之,您可能只需在新架构上重新编译您的代码就可以正常工作,或者您可能需要进行一些编辑。我想这取决于您的代码的用途和编写方式。
关于C++ 如何将 x64 位应用程序转换为 x86,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14218593/