タグ

Cに関するmutumin99のブックマーク (1)

  • hello worldなELFバイナリを出力するCのプログラム(の一番単純な奴) - memologue

    こちらの記事(Binary HacksのHack #25の軽い補足)は、「インラインアセンブラをちょっとだけ使って、gccに小さなhello worldバイナリを出力させる」というお話でした。一方、小さいHello Worldが欲しかったら、gccにELF実行バイナリを出力させるのではなく、「自力でELFを吐くCのコードを書いてしまう」手もあります。ご利用のCPUのアセンブリ言語がわかるのでしたら、こっちの方法でHello Worldするのも悪くないですね。こちらの方法でしたら、「急にbrainf*ckのコンパイラが書きたくなった*1」などの非常によくあるシチュエーションにも応用が効きますしー。 ELF直書きって、なんかすごく難しいように思われていると思うんですが(いや、DSO吐いたりするのは実際面倒ですが)、hello worldくらいだったらなんてことないです。次の4つの処理を順に行え

    hello worldなELFバイナリを出力するCのプログラム(の一番単純な奴) - memologue
    mutumin99
    mutumin99 2007/07/15
    表題の通り。これとELFの仕様書、elf.hの3つを参照すればリンカなしのアセンブルできた。
  • 1