所以我刚刚发现 GCC 可以进行内联汇编,我想知道两件事:
我找到了几篇文章,但它们都是 2000 年和 2001 年的旧文章,不太确定它们的相关性。
谢谢
最佳答案
内联汇编的好处是让汇编代码内联(等一下,不要杀了我)。通过这样做,您不必担心调用约定,并且您可以更好地控制最终目标文件(这意味着您可以决定每个变量的位置 - 哪个寄存器或它是否存储在内存中),因为该代码赢了't 被优化(假设您使用 volatile 关键字)。
关于你的第二个问题,是的,有可能。您可以做的是编写简单的 C 程序,然后将它们转换为汇编,使用
gcc -S source.c
有了这个,架构手册( MIPS ,Intel 等)以及 GCC手册,你可以走很长的路。
网上有一些资料。
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/
内联汇编的缺点是,您的代码通常无法在不同编译器之间移植。
希望能帮助到你。
关于GCC:内联汇编 - 适合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1609211/