不同的CPU具有不同的能力,支持不同的指令集,以及不同的执行代码方式。-march标记指示编译器根据你CPU的能力、特征、指令集、怪癖等生成特定的代码。 即使/etc/make.conf中的CHOST变量指定了所使用的通用构架,-march还是可以用来为特定的处理器优化程序。x86和x86-64(也包括其他的)的CPU尤其应该利
在以下示例中,我们为x86架构的Hello World程序应用了优化: gcc-march=x86-64-O2hello.c-ohello_x86_optimized 1. 结论 本文探讨了如何使用GCC编译为特定架构的程序。通过-march选项,开发者可以为不同的硬件平台产出优化的代码,增强程序在目标系统上的性能。同时,我们也可以使用类图和甘特图,清晰地展示GCC的工作流程...
3. 编译代码 现在使用gcc编译器,结合-march参数,针对指定的 CPU 架构进行编译。例如,如果希望编译目标为x86-64架构,可以使用以下命令: gcc-march=x86-64-ohello hello.c //-march指定 CPU 架构,-o 指定输出文件名 1. 这里,-o hello指定生成的可执行文件名为hello。 4. 运行程序 最后,运行编译生成的可执行...
gcc-march-o 其中<machine_type>是目标机器类型的标识符。 1 以下是一些常见的-march选项的示例,表示目标机器的类型: •x86架构: –-march=i386:基于Intel 386架构的32位x86系统。 –-march=i486:基于Intel 486架构的32位x86系统。 –-march=pentium:基于Intel Pentium架构的32位x86系统。 –-march=pentium4...
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64' as -v --64 -o /tmp/cc17VwSh.o /tmp/ccvW5Igg.s GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-...
GCC(GNU Compiler Collection)是一种常用的编译器,可以用于编译多种编程语言的程序,包括C、C++、Fortran等。GCC支持许多选项,用于控制编译过程和生成的目标文件。 `-m` 选项通常用于指定特定的机器架构或指令集。例如,`-march=x86-64` 用于指定目标架构为x86-64,`-m32` 用于生成32位目标文件,`-m64` 用于生成64...
-march=x86-64:intel 64位 x86 cpu -mtune=generic: 编译得到的机器指令,属于通用指令集(同款的不同型号的cpu都支持的指令集)。如果需要指定某型号cpu的特殊指令集时,就不能写成generic,而要写特殊指令集名称COLLECT_GCC_OPTIONS='-o' 'helloworld' '-v' '-mtune=generic' '-march=x86-64' ...
出品|开源中国 作者|局长 台湾威盛 (VIA) 和上海市政府的合资企业兆芯在 2019 年推出了 ZX-E / KX-6000 系列 x86_64 微架构处理器,代号为“陆家嘴 (Lujiazui)”。 KX-6000 采用 16 纳米工艺制造,频率 3.0GHz,为…
使用-march=native 启用本地计算机支持的所有指令子集(因此结果可能无法在不同的计算机上运行)。使用-mtune=native 在所选指令集的约束下生成针对本地机器优化的代码。 'x86-64' 具有64 位扩展的通用 CPU。 'x86-64-v2' 'x86-64-v3' 'x86-64-v4' 这些CPU 类型选择从 x86-64 psABI 中选择相应的微架构...
-Wa,--64设置字长为64bit,仅用于x86_64,并且仅对ELF格式的目标文件有效。此外,还需要使用"--enable-64-bit-bfd"选项编译的BFD支持。-Wa,-march=CPU按照特定的CPU进行优化:pentiumiii, pentium4, prescott, nocona, core, core2; athlon, sledgehammer, opteron, k8 。仅可用于 CFLAGS 的选项:-fhosted...