我使用test.s
生成gcc -S -O3 test.c
个文件。 test.c中有一个快速排序代码。是否可以再次将快速排序test.s
至test.c
文件的汇编代码添加到原始快速排序c
代码中?
谢谢
答案 0 :(得分:0)
几乎可以肯定。如果你有一个能够使用内联汇编的编译器(它不是标准规定的,而是它的扩展),那么你可以注入你想要的任何代码。
我的问题是“为什么?”。如果您的编译器首先生成优化代码,那就让它完成它的工作。换句话说,使用高优化编译所有代码。
这样,如果事情发生变化(更好的编译器,新架构等),代码将在下次编译时自动神奇地改进,如果你告诉它使用你的特定汇编指令,那就不会发生。< / p>
如果出于某种原因,您不希望所有代码处于高优化状态,则可以将排序代码拆分为自己的文件,并使用不同的标志。但是仍然没有必要进行组装的原因。
如果你真的想这样做,那么将.s
文件映射到正确的内联汇编格式应该是一个(相对)简单的事情。