当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

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

最佳解决方案

要编译c ++代码,请使用:

g++ foo.c

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

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

./a.out

g ++应该已经在你的$ PATH中了,所以你不需要明确地调用/usr/bin/g++,但是你可以在任何情况下使用后者。

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

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

chmod +x ./a.out

要指定已编译输出文件的名称,请使用您的g ++命令将其命名为a.out, use -o`。例如。,

g++ -o output foo.c

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

次佳解决方案

我在这里做了两个假设:

  1. 您已经准备好构建C++源文件/程序

  2. 您已在计算机上设置了构建系统

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

g++ main.cpp -o main
  • g ++是GCC的C++组件的调用,它是C /C++的实际编译器和Linux平台上的其他语言的整个主机。它是目前唯一能够编译Linux内核的编译器。

  • main.cpp是您要编译的c ++源文件。

  • -o main指定编译源时要创建的输出文件的名称。如果您愿意,可以反转目标源文件和目标输出文件,因此g++ -o main main.cpp同样有效。

  • 要执行该程序,您需要在终端中执行./main。

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

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

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

第三种解决方案

这就是我喜欢用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

第四种方案

g++ filename.cpp 

例如:

g++ One.cpp

这将生成名为(例如)的输出文件:

a.out

如果你创建另一个程序并编译它(例如):

g++ Two.cpp

这也将生成名为(例如)的输出文件:

a.out

这意味着如果执行该操作,您只能获得最后编译的程序的输出。为了避免这种用途(例如)

g++ One.cpp -o One 

现在,您的输出文件将是:

One

现在,您可以使用您指定的名称执行该文件。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1280.html,未经允许,请勿转载。