1

我正在用 C 编写一些必须非常高效地运行的方法,所以我想手动编辑一些自动生成的汇编代码。我知道如何使用 gdb 或“objdump -d myfile.o”读取汇编代码,但谁能告诉我如何编辑这段代码?(可能只是细微的调整。)

4

3 回答 3

3

gcc have -S switch, which stops compilation on after assembly generation phase. Then you cound edit resulting file and manually call assembly (with gas, for example)

于 2012-12-06T05:55:37.387 回答
2

当然。它被称为“内联汇编”,大多数编译器都支持它。

这是一个使用 GCC 的示例:

于 2012-12-05T22:18:36.077 回答
-1

你没有办法做到这一点。编译器直接生成代码,不涉及汇编器;组装列表是可以生成的辅助产品,可以不生成。但是,您可以使用 asm 列表并自己组装它。

如果您想提高代码的效率,最好的方法是,如前所述,内联汇编;或编写一个汇编过程,制作一个目标文件并链接它。

于 2012-12-06T03:22:49.500 回答