将ada与装配混合

时间:2011-07-02 20:37:36

标签: ada

如何将Ada代码与装配混合(使用GAS组装)?

我知道如何将Ada与C链接,但我如何与汇编链接?我知道gcc从Ada代码生成汇编代码,因此我认为可以进行交叉链接。

3 个答案:

答案 0 :(得分:2)

据推测,您可以将程序集编译为.o目标文件,并将其作为参数提供给您的Ada编译器。

答案 1 :(得分:2)

  

我该如何使用这两个代码?

如果您在Intel x86上使用GNAT,则Inline Assembler包含相关示例。

附录:-S选项允许“检查生成的汇编代码”。这适用于Ada,C,C ++等。

答案 2 :(得分:1)

如果您想使用Ada执行任何类型的混合语言编程,包括Ada / Assember,您应该查看编译器在Interfacing pragmas上的文档,特别是其允许的调用约定。

例如,pragma import / exportGnat provides an Assembler convention

通常,您必须将汇编程序设置为子程序,该子程序使用与您的接口编译指示中使用的“约定”兼容的调用约定。

大多数编译器还通过System.Machine_Code包支持某种内联汇编。这允许您将相同源文件中的少量汇编语言与Ada混合使用。