成瀬です。

pegacorn wrote:
> pegacorn です。
> 
>  From: "NARUSE, Yui" <naruse / airemix.com>
>  Date: Wed, 12 Mar 2008 03:34:41 +0900
>  Message-Id: <47D6D085.9090205 / airemix.com>
> /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> |intが64bitのシステムでも32bit整数がある保証ってあるんでしたっけ。
>>>
>>> 保証はないでしょうね。
>> \
>> C99 の stdint.h では uintN_t (N は 8,16,32,64) が必須になっていますから、
>> C99 対応のコンパイラならば存在します。
> 
> 規格書は読んでいないのですが、
> uintN_t は任意なのではないでしょうか。
> 
> プログラミング言語 C の新機能:
>> http://seclan.dll.jp/c99d/c99d09.htm#dt19990621>
> 厳密な幅を持つ整数型に関する定義
> intN_t	符号付き整数型の typedef 名
> uintN_t	符号なし整数型の typedef 名
> 厳密にその幅を持つ整数型。これらの型は任意であるが、
> もし実装が 8, 16, 32, 64 ビットの整数型を提供しているなら
> 相当する typedef 名を定義する必要がある。

むむ、C99 だとたしかに持っていれば、になっていますね。

まぁ、POSIX の方では 32 は必須になっていますし、
http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html
Win64 はそもそも int が 32bit なので、このどちらかとなると、
それなりに「保障」されていると言っていいとは思うのですが。

-- 
NARUSE, Yui  <naruse / airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA