是否可以将优化的汇编文件添加到* .c文件中作为内联汇编?

时间:2015-06-01 00:47:52

标签: assembly

我使用test.s生成gcc -S -O3 test.c个文件。 test.c中有一个快速排序代码。是否可以再次将快速排序test.stest.c文件的汇编代码添加到原始快速排序c代码中? 谢谢

1 个答案:

答案 0 :(得分:0)

几乎可以肯定。如果你有一个能够使用内联汇编的编译器(它不是标准规定的,而是它的扩展),那么你可以注入你想要的任何代码。

我的问题是“为什么?”。如果您的编译器首先生成优化代码,那就让它完成它的工作。换句话说,使用高优化编译所有代码。

这样,如果事情发生变化(更好的编译器,新架构等),代码将在下次编译时自动神奇地改进,如果你告诉它使用你的特定汇编指令,那就不会发生。< / p>

如果出于某种原因,您不希望所有代码处于高优化状态,则可以将排序代码拆分为自己的文件,并使用不同的标志。但是仍然没有必要进行组装的原因。

如果你真的想这样做,那么将.s文件映射到正确的内联汇编格式应该是一个(相对)简单的事情。