难道编译出来的结果同时支持x86和x64么
闭关修行中......
不知道gcc,但是从cpu角度分析一下:
i386是intel的较早期的32位处理器的名称,与i486、i586等是一个系列的,这个系列也叫x86。而且保持着例如486兼容386这种向下兼容的特性,指定i386可以做到最广泛的对32位处理器的兼容性
i386
i486
i586
x86
但是intel在64位的处理器上却输给了AMD,AMD基于x86率先推出了兼容32位的64位处理器,而且获得市场认可,称为amd64。由于这种64位的处理器也可以运行在32位模式下,所以也称为x86-64。
amd64
x86-64
发展到现在实际上只有两个常用的标准,一个是intel的32位标准x86,一个是amd的64位标准amd64(虽然amd64同样是从x86发展起来的)。
当然intel也有自己的64位标准称为IA-64,即安腾处理器。
根据我的理解,回答你的问题:i386编译的程序的目标CPU平台为32位兼容即可x86-64编译的程序的目标平台只能是64位兼容
以上分析仅是个人理解,如有不妥还请指正。
不知道gcc,但是从cpu角度分析一下:
i386
是intel的较早期的32位处理器的名称,与i486
、i586
等是一个系列的,这个系列也叫x86
。而且保持着例如486兼容386这种向下兼容的特性,指定i386
可以做到最广泛的对32位处理器的兼容性但是intel在64位的处理器上却输给了AMD,AMD基于x86率先推出了兼容32位的64位处理器,而且获得市场认可,称为
amd64
。由于这种64位的处理器也可以运行在32位模式下,所以也称为x86-64
。发展到现在实际上只有两个常用的标准,一个是intel的32位标准
x86
,一个是amd的64位标准amd64
(虽然amd64
同样是从x86
发展起来的)。根据我的理解,回答你的问题:
i386
编译的程序的目标CPU平台为32位兼容即可x86-64
编译的程序的目标平台只能是64位兼容以上分析仅是个人理解,如有不妥还请指正。