奇思妙想 · 2024年 4月 24日 0

编译器可以设定int和long的长度吗?

46 次浏览

以long为例,虽然大部分64位C语言编译器long长度是8,依然有选项可以将long的长度设定为4.

  • gcc -m32选项可以让GCC生成32位目标代码,sizeof(int)和sizeof(long)也就变成4.
  • 需注意,gcc -m64选项可以让GCC生成64位目标代码,sizeof(int)依然保持4.
  • man gcc看到形如-mint64, -mlong32之类的设定,值得注意的是:在某些GCC版本很可能不支持,不能认为这些选项一定有效!