如何修改从C生成的现有汇编代码

时间:2012-12-05 22:17:13

标签: c assembly optimization x86 .obj

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

3 个答案:

答案 0 :(得分:3)

gcc有-S开关,它在程序集生成阶段后停止编译。然后你可以编辑生成的文件并手动调用程序集(例如使用gas)

答案 1 :(得分:2)

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

以下是使用GCC的示例:

答案 2 :(得分:-1)

你无法做到这一点。 编译器直接生成代码,不涉及汇编程序;汇编列表是可以生成的辅助产品,也可以不是。 但是,您可以自己选择asm并自行组装。

如果您想提高代码的效率,最好的方法是,如前所述,内联asm;或编写程序集proc,创建一个目标文件并链接它。