GCC编译选项, 以下是X86体系结构相关的选项:
i386 and x86-64 Options -mtune=cpu-type -march=cpu-type -mfpmath=unit -masm=dialect -mno-fancy-math-387
-mno-fp-ret-in-387 -msoft-float -mno-wide-multiply -mrtd -malign-double -mpreferred-stack-boundary=num
-mincoming-stack-boundary=num -mcld -mcx16 -msahf -mrecip -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2
-msse4 -mavx -maes -mpclmul -msse4a -m3dnow -mpopcnt -mabm -msse5 -mthreads -mno-align-stringops
-minline-all-stringops -minline-stringops-dynamically -mstringop-strategy=alg -mpush-args
-maccumulate-outgoing-args -m128bit-long-double -m96bit-long-double -mregparm=num -msseregparm
-mveclibabi=type -mpc32 -mpc64 -mpc80 -mstackrealign -momit-leaf-frame-pointer -mno-red-zone
-mno-tls-direct-seg-refs -mcmodel=code-model -m32 -m64 -mlarge-data-threshold=num -mfused-madd -mno-fused-madd
-msse2avx
int main()
{
char*p=(char*)malloc(100);
printf("%d\n", sizeof(p));
printf("%d\n", sizeof(*p));
return 0;
}
64位机器
gcc -m64 test1.c8
1
64位机器上编译成32位.
gcc -m32 test1.c4
1
由上可知,指针(Pointer)所占用的内存空间与目标程序的运行体系结构有关.

本文介绍了在GCC编译时针对X86体系结构的相关选项,包括CPU类型选择、浮点运算处理、指令集支持等,强调了指针在不同体系结构下内存占用的不同。
720

被折叠的 条评论
为什么被折叠?



