タグ

C-languageに関するtest_testerのブックマーク (2)

  • わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ

    Cコンパイラといえばとてつもなく複雑なプログラムというイメージがあります。ところが、このCコンパイラを(サブセットとはいえ)わずか500行ほどのCのソースコードで実現した「CC500」名付けられたプログラムが公開されています。 ソースコードは可読性を維持するためにつけられた空行やコメントを含めると、実際は750行ほどになるそうですが、それでもこれだけコンパクトなソースコードで実行可能なELFバイナリ(Linux用のバイナリ)を生成できるのは興味深いのではないでしょうか。 以下実際にLinuxでコンパイルしてみました。 自己コンパイルできる このコンパイラはC言語のサブセットで、自分自身のソースコードをコンパイルできるところがおもしろいところです。まず「cc500_1」という実行ファイルを生成します。 gcc cc500.c -o cc500_1 生成された実行ファイル「cc500_1」を使

    わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ
  • What's "LANG=C" ?

    はてなブログ」に移行しました。 1日1更新……を目指せなくなってきてるブログ。自分の勉強のために作りました。継続は力なり。 今は主にUbuntuとAndroidネタが中心です。 コマンドを、日語環境でなく英語環境で実行したいとき、LANG=Cと付けて実行してやったりする。 $ dateと$ LANG=C dateのそれぞれの実行結果を見比べると一目瞭然。 しかし、このCってのがよくわからん。英語環境を表すのにはenというのも用意されていて、実際に$ LANG=en dateとやると、やはり英語で表示してくれる。 じゃあ、Cって何なのよ。と思い調べてみた。 それで見つけたのが、次のページのこの記述 http://mailman.linuxchix.org/pipermail/techtalk/2002-November/013691.html 'LANG=C' sets the loca

  • 1