poi*_*ics 6 .net jvm cross-platform cross-compiling
我对跨平台和交叉编译器的术语有点困惑.让我首先明确跨平台.当人们谈论跨平台时,它意味着CPU的架构,即X86和X64?或操作系统即Windows 32位或Windows 64(服务器或桌面)?UNIX没有64位或32位等不同的版本.为什么这样?
.NET和java是交叉编译语言,这意味着什么?当程序在.NET中编译时,我们必须选择X86,X64或Any CPU等选项.那意味着什么?同样在安装项目中,我们必须选择x86和x64之间的选项.因此,如果程序是在x86中编译的,并且在x64上创建了msi文件,那么它将在X64和x86上运行,还是在任何一个上运行?
Joh*_*ith 13
当人们谈论跨平台时,它意味着CPU的架构,即X86和X64?或操作系统
都.它通常表示在虚拟机中运行的sotfware或为每个平台单独编译的软件.
UNIX没有64位或32位等不同的版本.
确实如此.
因此,如果程序是在x86中编译的,并且在x64上创建了msi文件,那么它将在X64和x86上运行,还是在任何一个上运行?
如果你的目标是x86,amd64也将运行代码(在32位模式下).在哪里创建安装程序msi文件无关紧要.
交叉编译意味着主机和目标平台不同.例如,在Linux计算机上构建Windows软件.
跨平台是指程序在多个不同平台上运行的能力.跨平台代码经常使用各种工具包/语言来实现这一目标(Qt,Flash等)
交叉编译器是一种编译器,它为不同于编译器本身运行的平台的平台生成代码.嵌入式目标的编译器几乎总是交叉编译器,因为很少有嵌入式目标能够托管编译器本身.
交叉编译器需要一个构建系统,它不假定主机和目标系统是兼容的,即你不能在构建时运行目标可执行文件,例如找出生成代码的运行时方面(例如字大小).
(交叉编译也可以应用于编译器本身.这被称为加拿大交叉编译,这是一种在主机上构建(交叉)编译器的技术,不同于编译器应该运行的编译器.在这种情况下我们有三个平台:
我怀疑大多数程序员都不会遇到这种情况.)
| 归档时间: |
|
| 查看次数: |
4058 次 |
| 最近记录: |