先来说计算机字长的概念, 我们经常说, 这个计算机的字长是4字节, 什么意思, 意思是说, 是以4字节来存地址的, 所以sizeof(char *)等于4, 总共32个bit, 很显然, 可以有2^32次方个地址, 所以我们经常说, 这个计算的内存(虚拟内存)有4G嘛。 显然, 64位机器的虚拟地址就更大了。
在32位机器上, 编译的是32位的程序(默认), 可以在32位机器和64位机器上运行。
在64位机器上, 可以使用-m32编译为32位的程序, 也可以在-m64选项下编译出64位的程序(默认)。 32位的程序可以在32位和64位的机器上运行, 但是64位程序只能在64位机器上运行, 就是这么个道理。
我实际测试了一下, 就如此如此。
很简单, 平时, 我们要注意兼容性。