Wikipedia Affiliate Button

12/08/2004

standard sized type in C


我們常需指定精確變數型別寬度, 可惜在C裡面是沒有define的, 所以每套lib都自己define一次, 比如

guint32(gtk),
Uint32(SDL)
u32(linux kernel)

其實C99已經有定義這部分

http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html

程式只要
#include
就可用
int8_t a;
uint32_t b;

等方式來指定變數寬度, 同樣地C99也規範的boolean 變數的宣告方式, #include 就可以使用 true, false, 詳細資料請看
http://www.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html

目前主流compiler GNU C/C++, MS Visual C/C++ 幾乎都支援C99, 嗯! 8051 的 Keil C除外



1 則留言:

York 提到...

我有為 8051 的 Keil C 新增一個 stdint.h ,從 GNU 那修改來的,當作過渡時期使用吧,需要的人可以找我拿 :)