コンピュータ・プログラミング-C/C++
先日、酒を飲みながらgccだかなんだかのコンパイラの話をしていたときに、ふと、「そういえば昔のgccはプリプロセッサが#pragmaディレクティブを見つけると、コンパイルを中止してゲームを起動するとかいうのがあったよな」と思い出した。 この元ネタは、も…
アルバイトしてて最近はコードを読むたびに、使用されている(僕がこれまで見たことのない)Boostライブラリをつかった部分で引っかかることが多い。 これらをいちいち調べて簡単に自分で実験して・・・というのを繰り返しているので非常に時間がかかってい…
「デバッガの理論と実装」というすばらしい(らしい)本があって、絶版だし僕は持っていないから読んだことはないのだけど、デバッガの作りかたって結構興味がある。他のプロセスのメモリをいじったりすることは、普通にプログラミングしている分にはそうい…
かなり昔にBinary Hacksで読んだのだけど、久々に自分のgistを見返してみてそんなのあったなぁと思ったので、備忘録として書いておく。 常に、自分の引き出しと言うか武器は、適切と思ったらすぐに持ち出せる状況にしておきたいので。というわけで、gccのcle…
別にまた特に意味はない記事です。 暫くC言語を書いてなくて、きちんと書けるかどうか不安だったので、リハビリもかねてマンデルブロ集合なるものを描画させてみました。他にも多くの方が同じようなことされているし、検索すれば丁寧で詳しい説明がホイホイ…
別に何の意味も無い記事。 C言語のHello Worldがどうも動いてくれないのでとりあえず載っけてみる。問題のコード及びその逆アセンブルは以下。これを動かすとbus errorとかsegmentation faultになって実行されずに終わります。考察は今度するとして結論: 最…
最近のCPUは非常に多くの種類の命令があって、僕はそのなかでも最近、SIMD命令と言うものに少々興味があります。SIMD命令というのは、ざっくり説明すると同じような計算をたくさんのデータに対して行うときに、128ビットまたは256ビットの少々大きなレジスタ…
最近のトレンド?でもあるみたいですが、Macもそれに漏れず、OS X 10.5以降はプログラムのロード時に、「アドレス空間のランダム化(Address Space Layout Randomizationといいます。頭文字をとって以下はASLRと表記)」処理が行われています。 バイナリがASLR…
わけあって、マインスイーパ?のプログラム書いてみた。コア部分のみだけど。初めはRubyで書いて、C++で書きなおし、間違いに気づいたため、もう一度C++で書きなおした。にしても相変わらずC++は苦手だ 最後の版のソースを載せてみる。たまにはアウトプット…