meryngii.neta

今日も新たな"ネタ"を求めて。

VC++用のstdint.h

Visual C++ではC99で追加されたstdint.hが提供されていないが、それを補うものがあるのでメモ。
http://www.vector.co.jp/soft/win95/prog/se432866.html
Boostにもある。こちらはもちろんC++限定だ。
http://www.kmonos.net/alang/boost/classes/cstdint.html
整数型というのは、異なる名前でもしばしばサイズがかぶってしまう。例えば32bit環境ではintとlongはどちらも32bitなわけだが、厳密なコンパイラだと暗黙の変換に警告を出したりする。この場合int32_tはlongで定義すべきなのだろうが、オーバーロードなどで問題が起きることもある。細かいようだが面倒なところだ。