2018年04月03日

gccとccの違い

digital-388075_640.jpg

LinuxのC言語コンパイラでメジャーなgcc。

「GNU C Compiler」の略だと信じていたが、それは遠い昔の話。

もともと多言語を想定して設計されていて、「GNU C Compiler」と呼ばれていたときでも多くの言語に対応していた。

で、現在の標準パッケージには C、C++、Objective-C、Fortran、Javaなどのコンパイラやライブラリが含まれていて、「GNU Compiler Collection」の略だというのが正しい。

「ジーシーシー」としか口にしてなかったから知らなかったけど、たまたま調べてみて、あらびっくり。
でも、これを説明する事はもう無いだろうな。
GCC, the GNU Compiler Collection



で、話を戻して、C言語コンパイラに cc もある。

"g" が付くか付かないか。この違いはなんだろう?

gccは固有名詞で、ccはシステムに標準で付いてくるコンパイラのことらしい。
ただ、システムによっては gccにリンクを貼っていて、結局は同じものということもある。

Ubuntu16.04で確認してみた。
まずはパスを確認
$ which gcc
/usr/bin/gcc
$ which cc
/usr/bin/cc


詳しく見てみる
$ ls -l `which cc`
lrwxrwxrwx 1 root root 20 7月 3 2017 /usr/bin/cc -> /etc/alternatives/cc


$ sudo update-alternatives --config cc
リンクグループ cc に 1 つの alternative のみがあります (/usr/bin/cc が提供): /usr/bin/gcc
設定は行いません。


gccを参照していることが判った。

gccとccどちらを実行しても、同じgccの実行になるということ。

つまりは、ccは知らなくてもgccだけ知っていたら大丈夫。
すっきりした。


ラベル:ツール
posted by Zorinos at 20:00| Comment(0) | Linux | 更新情報をチェックする
ブログランキング・にほんブログ村へ