如果我们有多个源文件,想要把他们编译成一个.s文件,有正向反向两种方法,
【如何使用GCC将多个.c文件编译成一个.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
推荐阅读
- c|c语言字符输出格式化
- _dl_runtime_resolve
- ELF文件-符号表
- g++ 编译cpp程序 /usr/bin/ld: cannot find -lopencv_cudabgsegm....等问题
- 编译器|GCC抽象语法树(AST)可视化------适用于2019最新版本gcc-8.2.0
- Python相关|Mac下如何查看Python的版本()
- c|__buildin_expect的作用