m32指定编译为32位应用程序; makeCFLAGS=-m32 m64指定编译为64位应用程序; makeCFLAGS=-m64
64位版:加上 -m64 参数,生成64位的代码。 debug版:加上 -g 参数,生成调试信息。 release版:加上 -static 参数,进行静态链接,使程序不再依赖动态库。加上 -O3 参数,进行最快速度优化。加上-DNDEBUG参数,定义NDEBUG宏,屏蔽断言。 当没有-m32或-m64参数时,一般情况下会生成跟操作系统位数一致的代码,但某些编...
cpp 预处理, gcc -S 生成特定体系结构的汇编代码, 这个过程称为编译. 参数主要配置头文件搜索路径, 选择体系结构(-m32 -m64), 生成位置无关代码(-fPIC, 共享库必须要使用位置无关的目标文件, 而不是可重定位目标文件, 共享库不能重定位, 因为不知道, 也不能假设共享库的加载位置.) 汇编 as. 识别汇编代码...
GCC支持多种环境的代码生成,如使用-m32、-m64、-m16选项生成不同位数环境的代码,例如,-m32下int、long和指针类型均为32位,-m64下int为32位,long和指针类型为64位,-m16与-m32类似,但在汇编文件开头添加了gcc汇编制导,用于运行16位模式的二进制文件。编译过程主要分为预处理、编译、汇编和链接...
32位版:加上 -m32 参数,生成32位的代码。(64位编译32位程序需要安装32位的glibc库文件。javascript:void(0)) 64位版:加上 -m64 参数,生成64位的代码。 debug版:加上 -g 参数,生成调试信息。 release版:加上 -static 参数,进行静态链接,使程序不再依赖动态库。加上 -O3 参数,进行最快速...
-m32 -m64 -mx32 生成32位或64位环境的代码。-m32选项将int、long和指针类型设置为32位,并生成在...
werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-...
-m64 -mx32 Generate code for a 32-bit or 64-bit environment. The -m32 option sets int, long and pointer to 32 bits and generates code that runs on any i386 system. The -m64 option sets int to 32bits and long and pointer to 64 bits and generates code for AMD’s x86-64 architectu...
-m32,-m64,-m16为32位、64位或16位环境产生代码 -m32下int,long和指针类型均为32位 -m64下int为32位,long和指针类型均为64位 -m16与-m32类似,只是它会在汇编文件开头输出.code16gcc(针对GCC)汇编制导,从而可以按16位 模式运行二进制 编译的详细过程可以看我写的笔记 : ...
gcc -m32 test.cpp -o test.out 链接环节可能会出错,原因是缺少对应的32位库,毕竟现在默认都是64位的系统。需要执行如下指令安装对应库 apt-get install build-essential module-assistant apt-get install gcc-multilib g++-multilib 64位 gcc -m64 test.cpp -o test.out //OR gcc test.cpp -o test....