4

我已经在这里和互联网上查看了一段时间的问题,但我似乎无法确定是否可以使用 GAS 以外的其他东西使用 GCC 进行内联汇编。我试图找出是否可以避免不仅使用 GAS 的 AT&T 语法(不过,我知道如何将 Intel 语法与 GAS 一起使用),而且可以避免使用扩展的 asm 格式。虽然这不是为了一个项目或我自己的好奇心以外的任何东西,但我真的很感激我能得到的任何帮助(这实际上是我在这里的第一个问题,因为我找不到关于它的答案)!另外,如果这有什么不同,我目前在 Windows 上使用 DevC++(用于 C 代码,而不是 C++)。

谢谢,汤姆

4

2 回答 2

2

您可以将汇编程序(“.o”或“.obj”文件)的输出与您的 C 或 C++ 程序链接起来。将您的汇编代码放在一个文本文件中。您的 IDE 或 makefile 将像组装任何 c 源文件一样组装它。唯一棘手的一点是学习如何在两个不同系统之间进行交互。

于 2011-02-08T23:08:46.560 回答
1

您不能在 GCC 中使用其他内联汇编语法。内联汇编由 GCC 实现,字面上包括您编写的内联汇编及其自己的(文本)汇编输出,然后将其发送到gas汇编。由于 GCC 不知道如何更改其自身输出的格式以提供给另一个汇编器,因此您也无法更改内联汇编。

于 2011-02-08T23:37:25.640 回答