27++'s Report

東京大学で行われた「大規模ソフトウェアを手探る」実験においてgccコンパイラーに機能の追加を行った。その際の奮闘を描いた日記(風レポート)。


このブログには東京大学電子情報・電気電子工学科にて行われた「外規模ソフトウェアを手探る」実験において使用の変更、追加を行ったgccについて書かれています。実験日に沿った日記風レポートとなっていますが、実際の進捗とブログの進捗には多少の差があることをここに断らせていただきます。
行ったことは"-o"オプションなしでhoge.cをコンパイルしたときhoge.outとなる変更、及び文末の";"の抜けを自動で補填する変更である。

まとめ(変更箇所の紹介記事リンクとgccの仕組み)

手探るgccのソースコードのダウンロード方法(初日)



a.outってなんやねん(1)

gccコンパイラーを用いたことがある人なら誰もが一度は

gcc ファイル名.c

コンパイルを行い、a.out(Cygwin環境ならばa.exe)という実行可能ファイルを生成したことがあるだろう。また、

gcc -o hoge hoge.c

コンパイルしてhoge(hoge.exe)という実行可能ファイルを作ったこともあるのではないだろうか?

しかし、この仕様不便に思わないだろうか?僕はオプションなしで実行した時にすべてがa.outになることに不便さを覚え、憤りさえしたことを今でも鮮明に思い出す。プログラミング初心者だった(今でも十分初心者なのだが)僕にとって、さっきまで自分が作っていたものが上書きされてもう一回コンパイルしなおしたりする羽目になることがしばしばでその都度「-oオプションなしで"ファイル名"で出力してくれればいいのに」と常々思っていた。

そのために初日である今日(10/25)にやったことをメモしていきたいと思う。

まず、gccオープンソースをダウンロードした。

▼ダウンロード方法

それをhome/(以下denjyo) に解凍、home/denjyo/gcc-6.2.0 に移動し以下のコマンドを端末に打ち込んだ。

$ CFLAGS="-O0 -g" ./configure --prefix=/home/denjyo/gcc_install
$ make
$ make install

こうすると/home/denjyo にgcc_installなるフォルダーが生成され、その中の bin フォルダー内に今回デバッグする、'gcc' が待ち受けていた!

さて、次回からどんどんデバッグしていくぞ〜