使用“g++”编译 .cpp 文件

问题描述 投票:0回答:3

我是 Ubuntu 用户。

g++ file.cpp -o file
g++ -c file.cpp
和有什么不一样?

我知道

g++ -c file.cpp
创建了一个目标文件,file.o.

但是

g++ file.cpp -o file
呢?

我已经使用这个命令很长时间了,但我不知道作为输出生成的文件(它只是“文件”)。 我必须运行

./file
来执行文件。

c++ makefile g++
3个回答
2
投票

使用

-o
您可以指定输出文件名。 在你的例子中,
g++ file.cpp -o file
意味着:编译 file.cppfile.

没有

-o
你的源代码将编译为a.out文件。

如果您担心 g++ 中的其他选项,您可以随时使用

g++ --help
。它将向您显示所有参数及其含义。例如,
-o
的意思来自help

-o :将输出放入


0
投票

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
一起使用,以更改目标文件的名称。


0
投票

-o
仅表示“输出”,并允许您选择输出文件的名称。如果需要,它仍然完全允许指定
-c
-o

简单地说,

cc
由于历史原因用于命名最终的链接可执行文件
a.out
并且在一段时间内仍将继续这样做,当使用
-c
主要是为了在从头开始组装之前编译多个部分,从而保留原来的名字。

这就是为什么在编译最终可执行文件时比其他类型的编译文件更经常看到

-o
的原因。

© www.soinside.com 2019 - 2024. All rights reserved.