web-dev-qa-db-ja.com

C ++プログラムをコンパイルして実行するコマンドとは何ですか?

私はLinuxが初めてです。私はUbuntu 11.04を使用していますが、その中でC++プログラムをコンパイルして実行する方法がわかりません。 LinuxのC++プログラムCompileおよびExecuteへのコマンドを知る必要があります。

86
Rajeshkumar

C++コードをコンパイルするには、次を使用します。

g++ foo.cpp

foo.cppは、コンパイルされるプログラムの名前です。

これにより、a.outと呼ばれる同じディレクトリに実行可能ファイルが生成されます。これは、端末で次のように入力して実行できます。

./a.out

g ++は既に$ PATHにあるはずなので、/usr/bin/g++を明示的に呼び出す必要はありませんが、いずれの場合でも後者を使用できます。

foo.cppは、コマンドを実行しているディレクトリと同じディレクトリにある必要があります。疑問がある場合は、ls foo.cppまたはhead foo.cppと入力して、同じディレクトリにいることを確認できます(正しいfooで作業していることを確認する必要がある場合)。

@ con-f-useで述べたように、コンパイラは通常このファイルを実行可能にしますが、そうでない場合は、自分でこれを行うことができます(実行するコマンド./a.outまたは同等のコマンドが機能します):

chmod +x ./a.out

コンパイル済み出力ファイルの名前を指定し、g ++コマンドでa.out, use- o`という名前が付けられないようにします。

例えば。

g++ -o output foo.cpp

これにより、foo.cppoutputという名前のバイナリファイルにコンパイルされ、./outputと入力して、コンパイルされたコードを実行できます。

103
belacqua

ここで2つの仮定を行っています。

  1. ビルドの準備ができたC++ソースファイル/プログラムが既にあります
  2. コンピューターにビルドシステムをセットアップしました

Ubuntuまたはその他のLinuxディストリビューションでC++プログラムをコンパイルする最も簡単な方法は、次のように入力することです

g++ main.cpp -o main
  • g ++は、C/C++およびその他のホスト全体のデファクトコンパイラである GCC の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を実行します。

20
user2405

これが、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
5
amrx
g++ filename.cpp 

例えば:

g++ One.cpp

これにより、(たとえば)という名前の出力ファイルが生成されます:

a.out

別のプログラムを作成してコンパイルする場合(例):

g++ Two.cpp

これにより、(e)などの名前の出力ファイルも生成されます。

a.out

これは、最後にコンパイルされたプログラムを実行した場合のみ、その出力を取得できることを意味します。この使用を回避するには(例)

g++ One.cpp -o One 

これで、出力ファイルは次のようになります。

One

これで、指定した名前でファイルを実行できます。

2
Aman Dharna

Gccはcppファイルを簡単にコンパイルできないため、g ++が必要です。
Cコードを作成するには、vimまたはemacsを学ぶ必要もあります。
端末でこれを試してください:

テストプログラムを入力して保存します。

$vim hello.cc

hello.ccをg ++でコンパイルします。

$g++ hello.cc -o hello

実行する:

$./hello

ここで、./は、exeファイルが現在のディレクトリの下にあることを意味します。

1
bigeast

g++は、gcc(GNU Compiler Collection)のフロントエンドであり、いくつかの定義済みc ++マクロと異なるデフォルトオプション/フラグがあります。

gccを使用してc ++コードをコンパイルすると、g++がさまざまな理由で利用できない場合に便利です。実際には、c ++ライブラリ-lstdc++にリンクし、入力を処理するようgccに通知するだけです。 c ++コードとして(.C拡張を使用するか、-xで言語を強制することにより)
その他の有効なc ++ファイル名のサフィックス:.cc.cp.cxx.cpp.CPP.c++

例:

gcc cpp_code.C -lstdc++ 大文字の拡張子(.C)は、gccがc ++ファイルであることを認識するために重要です。

または明示的に入力言語を指定する:

gcc -x c++ cpp_code.txt -lstdc++ 拡張子は何でも、またはゼロでもかまいません

デフォルトでは、結果は(正常なコンパイル後)a.outファイルであり、./a.outで実行できます

0
user257256