或阿呆のブログ

Pythonを好んで使っているプログラマです。Ruby,Perl,PowerShell,VBAなどでもたまに書いています。最近はスロット放浪記やってます。。

Hello,World!よりも重要なこと〜1 gccってどこにある?

コンパイラってどこにある?Linuxでは、コマンドは必ずどこかにファイルとしてある。

whichコマンドでgccのパスを調べる

$which gcc
/usr/bin/gcc

さて、その場所まで行ってみましょうか。

$cd /usr/bin

gccと付くファイルを表示してみる。

$cd /usr/bin
$ll | grep gcc
-rwxr-xr-x 1 root   root        428  57  2006 c89-gcc
-rwxr-xr-x 1 root   root        454  411  2011 c99-gcc
lrwxrwxrwx 1 root   root          7 1222 00:12 gcc -> gcc-4.7
-rwxr-xr-x 1 root   root     527596  922 02:39 gcc-4.7
-rwxr-xr-x 1 root   root      21996  922 02:39 gcc-ar-4.7
-rwxr-xr-x 1 root   root      21996  922 02:39 gcc-nm-4.7
-rwxr-xr-x 1 root   root      21996  922 02:39 gcc-ranlib-4.7
lrwxrwxrwx 1 root   root          7 1222 00:13 i686-linux-gnu-gcc -> gcc-4.7
lrwxrwxrwx 1 root   root          7 1222 00:13 i686-linux-gnu-gcc-4.7 -> gcc-4.7
lrwxrwxrwx 1 root   root         10 1222 00:13 i686-linux-gnu-gcc-ar-4.7 -> gcc-ar-4.7
lrwxrwxrwx 1 root   root         10 1222 00:13 i686-linux-gnu-gcc-nm-4.7 -> gcc-nm-4.7
lrwxrwxrwx 1 root   root         14 1222 00:13 i686-linux-gnu-gcc-ranlib-4.7 -> gcc-ranlib-4.7

ご覧のようにたくさんある。

gccってどんなファイル???

$file gcc
gcc: symbolic link to `gcc-4.7'

symbolic linkってのは読んで字のごとく、リンクのこと。gccって叩くと、この場合、gcc-4.7が実行される。

さっきのファイル一覧で言う所の

-rwxr-xr-x 1 root   root     527596  922 02:39 gcc-4.7

これがgccの実体。