g++とは?
G++は、コマンドラインから実行できるC++コンパイラとして最もよく知られています。これは Free Software Foundation によってリリースされ、GCC (GNU Compiler Collection) の一部となっています。高級プログラミング言語 (この場合は C++) で書かれたコードを、コンピュータが理解できる低級言語に変換して、実行可能なファイルにしてくれます。
インストール
ほとんどのLinuxでは、g++は箱から出してすぐにインストールされます。しかし、もしあなたが選んだディストリ ビューションがそうでない場合、ここに従って、最も一般的な Linux のディストリビュー ションにインストールする方法を学んでください。
UbuntuとDebianでは、apt
パッケージマネージャを使用してインストールしてください。
sudo apt update && sudo apt install g++.
FedoraとCentOSでは、yum
パッケージマネージャを使用してインストールしてください。
sudo yum install g++
また、pkgs.orgからパッケージとしてダウンロードすることもできます。これはCurlツールを使用して行うことができます。
sudo curl http://ftp.de.debian.org/debian/pool/main/g/gcc-defaults/g++_10.2.1-1_amd64.deb -O
dpkg` ユーティリティを使用して、パッケージをインストールすることができます。
sudo dpkg -i g++.deb
g++がインストールされているかどうかを確認するには、--version
フラグを使用します。
g++ --バージョン
基本的な使用法
g++がインストールされたので、コンパイルの必要性に応じて使い始めることができます。
まず、--help
フラグを使用して、マニュアルに目を通すと便利です。
g++ --help
時には、コンパイラとその設定に関する特別な情報を表示するのが便利なことがあります。dumpspecs` フラグを使用すると、コンパイラのビルトイン仕様の文字列を表示することができます。
g++ --dumpspecs
これにより、コンパイラの機能とさまざまなオプションの基本的な概要を知ることができます。
g++ を使って基本的なコンパイルを行うには、次のような書式を使用します。g++ [ファイル]
例えば、“main.cpp “という名前のファイルがあれば、次のように入力することでコンパイルすることができます。
g++ main.cpp
コンパイルされた実行ファイルは、デフォルトで “a.out “という名前になっています。
このファイルを実行するには、次のようにタイプしてください。./a.out
もし、コンパイルされた実行ファイルの名前を指定したい場合は、-o
フラグを使用してください。
g++ -o [名前] [コンパイルするファイル]を指定します。
例えば、実行ファイルの名前を “main” と指定したいとします。この場合、次のようにタイプします。
g++ -o main main.cpp
もし、オブジェクトファイルをリンクさせたい場合は、次のような書式で行います。
g++ -o [コンパイル済みファイル] [obj1.o] [obj2.o].
例えば、オブジェクトファイル “object-1.o” と “object-2.o” をコンパイルして “main” 実行ファイルにしたい場合は、次のようにタイプします。
g++ -o main object-1.o object-2.o
もし、ライブラリやヘッダが存在するルートディレクトリを指定したい場合は、 --sysroot
フラグを使用します。
g++ -o [名前] --sysroot [ディレクトリ] main.ccp
“-Wall” を使って警告メッセージを表示する
コードをコンパイルするときに、コンパイラがすべての警告メッセージを表示するのが便利なことがあります。幸運なことに、g++にはこの機能が組み込まれており、すぐに使うことができます。
すべての警告メッセージを表示するには、-Wall
フラグを使用します(大文字の “W “に注意してください)。
g++ -o main main.cpp -Wall
スタティックライブラリの作成
ライブラリの作成は、正しいコードエディタを選ぶのと同じくらい、ソフトウェア開発の大きな部分を占めています。ar` コマンドのようなちょっとしたコツをつかめば、g++ を使って簡単にライブラリをコンパイルすることができます。
まず、オブジェクトファイルをコンパイルします。g++ -o obj.o main.cpp
次に、ar
ユーティリティを “rcs” と共に使用して、アーカイブファイル (".a”) を作成します。
ar rcs archive.a obj.o
最後に、g++でこれを使用します。
g++ -o final example.cpp archive.a
よくある質問
1. このツールで .c ファイルをコンパイルできますか?
技術的には可能です。しかし、g++は主にC++コンパイラとして意図されているので、 gcc
ユーティリティの方が適しています。さらに、g++ は .c ファイルを C++ ファイルとして扱います。
もし、g++ を使って .c ファイルをコンパイルしたい場合は、単に -c
フラグを使用してください。
g++ -c [example.c] -o example.
2. なぜ、GCCをC++コンパイラとして使ってはいけないのですか?
C++コンパイラとしてgcc
を使うのは非常によいことです。しかし、g++は実際にはgcc
をよりC++に特化させたものです。したがって、C++のコードを扱うプログラマのために、いくつかの付加的な 機能や特徴を提供しています。
3. 3. 最新バージョンは何ですか?
g++の最新バージョンは、2022年第1四半期現在、11.2.0と思われます。2021年7月にリリースされたものです。