c++ 使用'g++'编译.cpp文件

dz6r00yl  于 2023-05-08  发布在  其他
关注(0)|答案(3)|浏览(161)

我是Ubuntu用户。g++ file.cpp -o fileg++ -c file.cpp的区别是什么?
我知道g++ -c file.cpp创建了一个对象文件 file.o
那么g++ file.cpp -o file呢?
我已经使用这个命令很长时间了,但是我不知道作为输出生成的文件(它只是“文件”)。我必须运行./file来执行文件。

wgx48brx

wgx48brx1#

使用-o可以指定输出文件名。例如,在您的示例中,g++ file.cpp -o file表示:将 file.cpp 编译为 file
如果没有-o,您的源代码将编译为 a.out 文件。
如果你担心g++中的其他选项,你可以使用g++ --help。它将显示所有参数及其含义。例如,-o表示来自 help

  • -o *:将输出放入
q3qa4bjr

q3qa4bjr2#

g++ file.cpp -o file生成一个可执行文件(在Linux上通常没有扩展名)。-o指定输出文件名。如果只执行g++ file.cpp,则文件将命名为a.out
它相当于g++ -c file.cpp后跟g++ file.o -o file,除了file.o没有保存在任何地方。
请注意,您也可以将-o <filename>-c一起使用,以更改对象文件的名称。

8hhllhi2

8hhllhi23#

-o简单地表示“输出”,并允许您选择输出文件的名称。如果您需要,仍然完全允许指定-c-o
简单地说,cc用于命名一个最终的,链接的可执行文件a.out,并且仍然会继续这样做一段时间,当使用-c主要是为了编译多个部分之前,从一开始就组装,从而保留原来的名称。
这就是为什么在编译最终可执行文件时,比其他类型的编译文件更经常看到指定的-o

相关问题