私はLinuxが初めてです。私はUbuntu 11.04を使用していますが、その中でC++プログラムをコンパイルして実行する方法がわかりません。 LinuxのC++プログラムCompileおよびExecuteへのコマンドを知る必要があります。
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.cpp
がoutput
という名前のバイナリファイルにコンパイルされ、./output
と入力して、コンパイルされたコードを実行できます。
ここで2つの仮定を行っています。
Ubuntuまたはその他のLinuxディストリビューションでC++プログラムをコンパイルする最も簡単な方法は、次のように入力することです
g++ main.cpp -o main
g++ -o main main.cpp
も同様に有効です。上記のコマンドは、すでにソースファイルの場所にいることを前提としていますが、ソースファイルとターゲット出力ファイルの両方をディレクトリとして指定することもできます。例えば
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
-p: Generate extra code to write profile information suitable for the analysis program prof
g++ filename.cpp
例えば:
g++ One.cpp
これにより、(たとえば)という名前の出力ファイルが生成されます:
a.out
別のプログラムを作成してコンパイルする場合(例):
g++ Two.cpp
これにより、(e)などの名前の出力ファイルも生成されます。
a.out
これは、最後にコンパイルされたプログラムを実行した場合のみ、その出力を取得できることを意味します。この使用を回避するには(例)
g++ One.cpp -o One
これで、出力ファイルは次のようになります。
One
これで、指定した名前でファイルを実行できます。
Gccはcppファイルを簡単にコンパイルできないため、g ++が必要です。
Cコードを作成するには、vimまたはemacsを学ぶ必要もあります。
端末でこれを試してください:
テストプログラムを入力して保存します。
$vim hello.cc
hello.cc
をg ++でコンパイルします。
$g++ hello.cc -o hello
実行する:
$./hello
ここで、./
は、exeファイルが現在のディレクトリの下にあることを意味します。
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
で実行できます