嵌入将内联装配回到C 中

Embed compiled inline assembly back into C++

本文关键字:      更新时间:2023-10-16

假设我制作了一个C 程序并进行了编译。现在您有了它的装配代码。然后,如果我在asm()中使用汇编代码,它会产生完全相同的结果吗?如果是这样,我们可以将其用于什么?

大多数编译器通常都有一个可以生成完整汇编清单的选项,但是仅将生成的汇编代码插入ASM(")。

毫无用处

使用列表的使用通常是在理解编译器的工作原理中,以便以C/C 编写代码,以至于生产的汇编代码将是1.及时效率。2.记忆中的经济性。

在使用高水平的编译器优化的情况下,在时间或内存中,生成的代码通常是3.逻辑上的逻辑略有不同4.可能包含错误。完整列表有助于了解原始的C/C 代码与生产的汇编代码之间的连接。

  1. 在处理器中,代码和数据的内存量有限,在生产的装配列表,内存代码和数据分配的大小和数据分配中可能很重要。
  2. 如果实施算法(例如FFT)通常要求在数据地址上进行某些一致性,则可能重要的是要看到这些对齐也可以满足。

作为摘要,组装列表有助于在C/C 工作,并在时间和内存中保持(尽可能)的效率,可能在嵌入式环境中受到限制的来源。

稍后可以组装组件列表以产生对象代码,如编译器通常直接完成。

相关文章:
  • 没有找到相关文章