跨Win32和Win64应用程序
Cross Win32 and Win64 applications
在开始学习C++之前,我脑子里一直有这些问题:
1-在x86计算机上编译的应用程序能否在x64计算机上运行?
2-在x64计算机上编译的应用程序能否在x86计算机上运行?
3-有什么不同吗?
4-如果1和2是肯定的,那么为什么有些应用程序的每个操作系统位都有不同的下载,为什么我得到的一些库,比如lua52有x64和x86版本,只能在指定的操作系统上工作,在不同的操作系统中出错?
编辑:
5-如果我的操作系统是x64,我可以用x86编译我的应用程序吗?
好的,让我们依次尝试解决中的这些点
-
是的,x86计算机可以交叉编译为x64代码(这是一种常见的做法)。此外,基于x64的操作系统可能有一个用于运行x86代码的仿真层(这是Windows为向后兼容性所做的)
-
是的,x64计算机可以交叉编译为x86代码(也是一种常见的做法)。理论上,基于x86的操作系统可以有一个用于运行x64代码的仿真层(尽管我不相信这在实践中做到)
-
在交叉编译的情况下,在x64计算机上编译的x64代码与在x86计算机上交叉编译的相同代码之间没有区别。如果x64正在运行模拟层来运行x86代码,那么它的效率将低于运行本机x64代码。如果您想支持x86系统,那么您必须提供x86版本。
-
请参阅(3)-通常最好提供"本机"版本。
-
是的。-参见(1)和(2)
相关文章:
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何从Windows应用程序输出到标准?
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 跨Win32和Win64应用程序