如果我们有多个源文件,想要把他们编译成一个.s文件,有正向反向两种方法,
1.反向很简单,就正常编译成可执行,然后使用objdump反汇编即可:
objdump -d mcf_s &> mcf_s.s
2.正向直接编译使用如下的命令是不行的:
需要先写一个单独的.c文件,然后将项目需要的所有的.c文件包含进去,如下图:
然后使用如下的命令编译这个新的.c文件就可以了
gcc -std=c99 -m64 -S -DSPEC -DNDEBUG -Ispec_qsort -DSPEC_AUTO_SUPPRESS_OPENMP -O3 -ffinite-math-only -fprefetch-loop-arrays -ffast-math -mno-avx2 -march=znver1 -Wno-return-type -fno-strict-aliasing -DSPEC_LP64 mcf_test.c -o mcf_test.s