関数ポインタ

関数ポインタはあれば確かに便利だけど、グローバル変数などと併せて複雑なコードになればなるほど可読性が落ちるので(grepなどで関数の定義を見付けるのがほぼ不可能になってしまう)、もうやだやだ、というか、そんなコードを読んでいるとイライラしてくる。

それでも、gdbとかで頑張ってみようとしたのだけれど、よくよく調べたら、結構大きな関数でもインライン展開がされてて、関数名でbreakpointがつけれなくて苦労した(なんでつけれないんだろうとイライラしてした)。なんでだろうと思ったら、
そういえばこのプログラム、コンパイルオプションに-O6とかつけてやがんの。そんなに最適化することに効果が一体どれだけあるというのだ*1

*1:インライン展開に意味があるのは、短い関数の呼び出しが大量に発生するときだけだと思うのですがどうでしょう