Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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
C++ 如何使用GCC读取.s文件?_C++_C_Assembly - Fatal编程技术网

C++ 如何使用GCC读取.s文件?

C++ 如何使用GCC读取.s文件?,c++,c,assembly,C++,C,Assembly,我有一个关于使用GCC读取.s文件的问题 我正在使用Ubuntu18.04和GCC 我想通过如下方式读取.s文件来制作MIPS汇编程序: $./runfile程序集文件 这里,runfile是c/c++的out文件,“assembly file”是.s文件 我必须为此做些什么?首先,gcc知道'*.s'文件是程序集,因此它可以将其“编译”为对象,而无需任何其他信息,包括: $(CXX) x.s -c 这将从程序集文件创建文件x.o 如果您还想使用预处理器指令/宏,可以添加带有cpp的-xass

我有一个关于使用GCC读取.s文件的问题

我正在使用Ubuntu18.04和GCC

我想通过如下方式读取.s文件来制作MIPS汇编程序:

$./runfile程序集文件

这里,runfile是c/c++的out文件,“assembly file”是.s文件


我必须为此做些什么?

首先,gcc知道'*.s'文件是程序集,因此它可以将其“编译”为对象,而无需任何其他信息,包括:

$(CXX) x.s -c
这将从程序集文件创建文件
x.o

如果您还想使用预处理器指令/宏,可以添加带有cpp的
-xassembler

$(CXX) -xassembler-with-cpp x.s -c
或者文件扩展名必须是大写的
.S
,它与gcc具有相同的效果


CXX
必须是您的mips cross gcc。

我不明白您想做什么。什么是“c/c++的输出文件?”如果您想编写汇编程序,请阅读一些有关词法分析和解析技术的文献。对不起。我写得模糊不清。我只想用C/C++编写有关MIPS汇编程序的代码。(因为这是家庭作业。)我必须读取.s文件并使用C/C++mips将.s文件编译成二进制文件(.o文件)compiler@Karo如果您想使用GCC for MIPS将程序集(.s)文件组装成一个对象文件,那么我不明白您为什么需要自己的汇编程序。毕竟,用于MIPS的GCC确实包含一个汇编器。谢谢!我会的。在大多数发行版上,如果你有clang,你甚至不需要交叉编译器包。e、 在Arch Linux上,
clang-c-target mips
可以组装mips
.s
文件。因此,您不需要安装MIPS交叉编译器和交叉汇编程序。(不过,Ubuntu的gcc mips包应该在同一个包中包含gcc本身和跨binutils,所以如果您希望GNU工具链安装它。)