差分

ナビゲーションに移動 検索に移動

Gcc

3,043 バイト追加, 2013年8月11日 (日) 08:58
適当に作成。
gccとは、超便利な[[C言語]]・[[C++]]用の[[コンパイラ]]である。
[[Ada]]とか他の[[言語]]も[[コンパイル]]できるかもしれません。

==入手方法==
===[[Windows]]===
C言語・C++のエディタである[[Dev-C++]]というソフトをダウンロードすると、
(コンパイラ付きのものを選べば)gccがついてきます。<br />
Dev-C++は[http://orwelldevcpp.blogspot.jp/ http://orwelldevcpp.blogspot.jp/]からダウンロードできます。

コンパイラ単体は、[http://sourceforge.net/projects/mingw/files/ Sourceforge]からもダウンロードできます。
しかし、大量のファイルのダウンロード・解凍がめんどくさいので、上のソフトをおすすめします。

[http://gcc.gnu.org/ 公式サイト]→バージョン名→our mirror sites→左にJapanと書いてある項目→
releases→バージョン→(バージョン).tar.gzとたどってもダウンロードできると思いきや、
これはソースコードしか入っていないようです。気をつけましょう。

===[[Linux]]===
運が悪くなければ、多分初期状態で入っています。
入っていなければ、ググってください。(適当)

===[[Mac]]===
未稿

==使い方==
gccは[[C言語]]のソースコードをコンパイルするコマンドです。
[[C++]]の場合は、gccと書いてあるところをg++と読み替えてください。
===基本===
<pre>$ gcc -o 出力ファイル名 入力ファイル名</pre>
というコマンドで、とりあえずコンパイルできます。
===[[最適化]]===
<pre>$ gcc -O2 -o 出力ファイル名 入力ファイル名</pre>
のように-O2を付けると、最適化してくれるはずです。でも、たまに誤動作するバイナリができるので注意が必要かもしれません。
===[[デバッグ]]===
<pre>$gcc -g3 -o 出力ファイル名 入力ファイル名</pre>
のように-g3を付けると、デバッグ用の情報がバイナリに付加されます。
===変な表現のチェック===
<pre>$gcc -Wall -Wextra -o 出力ファイル名 入力ファイル名</pre>
のように-Wall -Wextraを付けると、最大限(要出典)警告してくれるようになります。<br />
scanfが警告されてうざい時は、-Wno-unused-resultを付けるといい感じになりそうです。<br />
(もともと警告されない環境の時は、これを付けるとエラーになることがあります)
===[[定数倍高速化]]===
<pre>$gcc -fopenmp -o 出力ファイル名 入力ファイル名</pre>
のように-fopenmpを付け、[[ソースコード]]内のたくさん回る[[for文]]の前に
<pre>#ifdef _OPENMP
#pragma omp parallel for
#endif</pre>
という[[おまじない]]を書くと、[[実行]]時の[[CPU]]使用率が上がる代わりに実行が早くなる場合があります。<br />
ただし、元のソースコードによっては、逆に遅くなったり動作がおかしくなったりします。
匿名利用者

案内メニュー