次の C言語のプログラムをコンパイルして実行するとどうなるでしょうか。
int
main ()
{
volatile float i;
for (i = 0; i < 100000000; ++i);
return 0;
}
続きを読む...Joel on Softwareの Don't Let Architecture Astronauts Scare Youという記事に、流行のバズワードがたどる運命が紹介されていました。
続きを読む...読解いやな法則の第5回です。今回はとりわけ怠け者にぴったりな法則である「何もやらないよりはだらだらやった方がまし」を取り上げたいと思います。
続きを読む...Binary 2.0 カンファレンス2005 を 2005年12月2日に開催します。
無事に終了しました。当日の模様は 発表資料とレポートをどうぞ。
続きを読む...Linux などの多くの Unix 的なOS には ptrace というシステムコールがあります。 ptrace を使うと実行中のプロセスに対して、レジスタの書き換えやメモリ上のデータの書き換えといったさまざまな操作を行うことができます。
普通のやつらの下を行けの第6回として、今回は ptrace を使って実行中のプロセスにちょっかいを出す方法を取り上げたいと思います。
続きを読む...プログラムの実行に不可欠なデータをファイルから読み込んで利用することがあります。この方法を用いると、データの更新が手軽にできるという利点がある一方で、単体の実行ファイルで実行できない、データファイルが紛失してしまう、といった問題もあります。
普通のやつらの下を行けの第5回として、今回は objcopy を用いて実行ファイルにデータを埋め込む方法を取り上げたいと思います。
続きを読む...Effective STLによると、多くの STL の実装では string クラスの内部において、文字列のコピーを減らすために、リファレンスカウントが行われているそうです。そこで、手元の環境の string クラスでリファレンスカウントが実際に行われているか調べてみました。
続きを読む...先日、Binary 2.0 時代の到来について書きましたが、やはり予感は間違っていなかったようです。 w_o 氏による g++の例外を素手で捕まえる話 (その続き) はまさに Binary 2.0 時代の潮流を表した名記事といえそうです。そろそろ Binary 2.0 カンファレンスを行うべきときがきたかもしれません。
gcc に -g オプションを与えるとデバッグ情報をバイナリに埋め込むことができます。この情報は通常 gdb などのデバッガによって利用されますが、普通のプログラムでも利用できれば何かおもしろいことができるかもしれません。
普通のやつらの下を行けの第4回として、今回は BFD (libbfd) を用いてデバッグ情報を取得する方法を取り上げたいと思います。
続きを読む...
昨今のネット上でのトレンド、とりわけ
shinichiro.h 氏による実行時に情報を調べる話や、大和さんによる Binareal の勢いを目の当たりにするにつけ、 Web 2.0 の次にくるのは Binary 2.0 ではないかという予感が確信に変わりつつあります。
読解いやな法則の第4回です。今回は前回の「横着をするための労力を惜しんではいけない」に続く法則として「現実逃避の方が生産性が高い」を取り上げたいと思います。
続きを読む...