
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だけ知っていたら大丈夫。
すっきりした。
ラベル:ツール