Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在GCC中使用另一个汇编程序(MASM、NASM、TASM等)_C_Gcc_Inline Assembly_Masm_Gnu Assembler - Fatal编程技术网

在GCC中使用另一个汇编程序(MASM、NASM、TASM等)

在GCC中使用另一个汇编程序(MASM、NASM、TASM等),c,gcc,inline-assembly,masm,gnu-assembler,C,Gcc,Inline Assembly,Masm,Gnu Assembler,我已经在这里和互联网上浏览了一段时间了,我似乎不知道是否可以使用GAS以外的东西来使用GCC进行内联组装。我想知道我是否可以避免不仅使用GAS的AT&T语法(尽管我知道如何将Intel语法与GAS结合使用),还使用扩展的asm格式。虽然这不是为了一个项目,也不是为了我自己的好奇心,但我真的很感激能得到任何帮助(这实际上是我在这里的第一个问题,因为我找不到答案)!另外,如果这有什么不同的话,我目前正在Windows上使用DevC++(用于C代码,而不是C++) 谢谢, 汤姆 < P>可以将汇编程序

我已经在这里和互联网上浏览了一段时间了,我似乎不知道是否可以使用GAS以外的东西来使用GCC进行内联组装。我想知道我是否可以避免不仅使用GAS的AT&T语法(尽管我知道如何将Intel语法与GAS结合使用),还使用扩展的asm格式。虽然这不是为了一个项目,也不是为了我自己的好奇心,但我真的很感激能得到任何帮助(这实际上是我在这里的第一个问题,因为我找不到答案)!另外,如果这有什么不同的话,我目前正在Windows上使用DevC++(用于C代码,而不是C++)

谢谢,
汤姆

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

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

是的,它是真正的“内联”还是仅仅是对汇编器函数的外部函数调用?你把它放在文本文件里是什么意思?IDE将为我组装它?这并不是对“使用另一个带有GCC的汇编程序”的回答,因为它不适用于带有内联汇编的源文件。我认为@nelhage的答案是正确的(如果仍然是这样的话);见本问题: