编译和运行 C++ 程序的命令是什么?

编译和运行 C++ 程序的命令是什么?

我是 Linux 新手。我使用的是 Ubuntu 11.04,不知道如何在其中编译和执行 C++ 程序。我需要知道命令来编译执行Linux 中的 C++ 程序。

答案1

要编译你的 C++ 代码,请使用:

g++ foo.cpp

foo.cpp示例中的 是要编译的程序的名称。

这将在同一目录中生成一个可执行文件a.out,您可以在终端中输入以下命令来运行它:

./a.out

克++应该已经在您的 $PATH 中,所以您不需要/usr/bin/g++明确调用,但无论如何您都可以使用后者。

foo.cpp应该位于您运行命令的同一目录中。如果有任何疑问,您可以通过键入ls foo.cpp或来确保您位于同一目录中head foo.cpp(如果您需要验证您使用的是正确的foo。)

正如 @con-f-use 所指出的,编译器通常会使该文件可执行,但如果没有,您可以自己执行此操作(因此要执行的命令./a.out或等效命令将起作用):

chmod +x ./a.out

要指定编译输出文件的名称,以便它不被命名为a.out,请-o与 g++ 命令一起使用。

例如

g++ -o output foo.cpp

这将编译foo.cpp为名为的二进制文件output,您可以键入./output来运行编译后的代码。

答案2

我在这里做两个假设:

  1. 您已拥有可随时构建的 C++ 源文件/程序
  2. 您已在计算机上设置了构建系统

在 Ubuntu 或任何其他 Linux 发行版上编译 C++ 程序的最简单方法是输入

g++ main.cpp -o main
  • 克++是调用海湾合作委员会,Linux 平台上 C/C++ 和所有其他语言的事实上的编译器。它是目前唯一能够编译 Linux 内核的编译器。
  • 主程序是您想要编译的 C++ 源文件。
  • -o 主要指定编译源后要创建的输出文件的名称。如果愿意,可以反转目标源文件和目标输出文件,因此g++ -o main main.cpp同样有效。
  • 要执行该程序,您需要在终端中执行 ./main。

上述命令假设您已经位于源文件的位置,但源文件和目标输出文件也可以指定为目录。例如

g++ ~/Desktop/main.cpp -o ~/Projects/main

将编译位于桌面上的 C++ 源文件并将可执行二进制文件放在Projects主目录中的文件夹中。要运行此可执行文件,请运行./Projects/main

答案3

这就是我喜欢用 g++ 进行编译的方式。

$g++ -W -Wall -pedantic -o programName -p sourceFile.cpp

-W: Print extra warning messages for some problems.
-Wall: Enable all the warnings about questionable code
-pedantic: Show all the warnings demanded by strict ISO compliance
-o programName: place the executable output in programName sourceFile.cpp: the 
name of our source code file
-p: Generate extra code to write profile information suitable for the analysis program prof

答案4

您需要 g++,因为 gcc 可能无法轻松编译 cpp 文件。
您还需要学习 vim 或 emacs 来编写 C 代码。
只需在您的终端上尝试一下:

输入测试程序并保存:

$vim hello.cc

hello.cc使用 g++编译:

$g++ hello.cc -o hello

执行它:

$./hello

这里的./意思是exe文件在当前目录下。

相关内容