我是Ubuntu用户。g++ file.cpp -o file和g++ -c file.cpp的区别是什么?我知道g++ -c file.cpp创建了一个对象文件 file.o。那么g++ file.cpp -o file呢?我已经使用这个命令很长时间了,但是我不知道作为输出生成的文件(它只是“文件”)。我必须运行./file来执行文件。
g++ file.cpp -o file
g++ -c file.cpp
./file
wgx48brx1#
使用-o可以指定输出文件名。例如,在您的示例中,g++ file.cpp -o file表示:将 file.cpp 编译为 file。如果没有-o,您的源代码将编译为 a.out 文件。如果你担心g++中的其他选项,你可以使用g++ --help。它将显示所有参数及其含义。例如,-o表示来自 help:
-o
g++ --help
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一起使用,以更改对象文件的名称。
g++ file.cpp
a.out
g++ file.o -o file
file.o
-o <filename>
-c
8hhllhi23#
-o简单地表示“输出”,并允许您选择输出文件的名称。如果您需要,仍然完全允许指定-c和-o。简单地说,cc用于命名一个最终的,链接的可执行文件a.out,并且仍然会继续这样做一段时间,当使用-c主要是为了编译多个部分之前,从一开始就组装,从而保留原来的名称。这就是为什么在编译最终可执行文件时,比其他类型的编译文件更经常看到指定的-o。
cc
3条答案
按热度按时间wgx48brx1#
使用
-o
可以指定输出文件名。例如,在您的示例中,g++ file.cpp -o file
表示:将 file.cpp 编译为 file。如果没有
-o
,您的源代码将编译为 a.out 文件。如果你担心g++中的其他选项,你可以使用
g++ --help
。它将显示所有参数及其含义。例如,-o
表示来自 help: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
一起使用,以更改对象文件的名称。8hhllhi23#
-o
简单地表示“输出”,并允许您选择输出文件的名称。如果您需要,仍然完全允许指定-c
和-o
。简单地说,
cc
用于命名一个最终的,链接的可执行文件a.out
,并且仍然会继续这样做一段时间,当使用-c
主要是为了编译多个部分之前,从一开始就组装,从而保留原来的名称。这就是为什么在编译最终可执行文件时,比其他类型的编译文件更经常看到指定的
-o
。