Assembly 如何从多个C文件中获取单个程序集?
我已经构建了一个包含多个源文件的C项目,我想将这些文件编译成一个程序集。我该怎么做 GCC就是帮不了我。我试过两种方法,但都失败了Assembly 如何从多个C文件中获取单个程序集?,assembly,merge,Assembly,Merge,我已经构建了一个包含多个源文件的C项目,我想将这些文件编译成一个程序集。我该怎么做 GCC就是帮不了我。我试过两种方法,但都失败了 当我在Makefile中添加-S选项时,我得到的唯一结果就是大量的程序集文件 首先,我编译了这个项目并得到了一个ELF文件。然后我使用dumpobj工具deassembly那个ELF文件,最后我得到了汇编文件,但是有很多冗余,而且与汇编格式也不匹配 那么,我如何获得单个组件?我能做的唯一方法是将源文件合并到一个C文件中吗?尝试使用-combine和-S创建单个程序集
-S
选项时,我得到的唯一结果就是大量的程序集文件dumpobj
工具deassembly
那个ELF文件,最后我得到了汇编文件,但是有很多冗余,而且与汇编格式也不匹配那么,我如何获得单个组件?我能做的唯一方法是将源文件合并到一个C文件中吗?尝试使用
-combine
和-S
创建单个程序集文件
来源:如果您使用的是4.6之前的gcc,您可以尝试将
-与-S
结合使用。这将生成一个程序集文件。谢谢,但是我在Linux中使用了交叉工具链,gcc版本是4.1.64.1.6?gcc官方网站显示4.1版本系列以4.1.2结尾。在任何情况下,4.1.6比4.6早,因此它应该仍然有-combine
选项。我找到了-combine选项,谢谢!我回答这个问题,因为似乎没有人会这么做。