关于C99 标准库的问题

今天凯凯让我给他调试一个简单的程序

我在VC6中编译的时候 发现报错:缺少stdbool.h这个头文件。

于是上baidu查找了相关资料,发现这是一个C99标准库中定义bool类型的头文件,而起VC不支持C99这个标准库。

后来找到了stdbool.h这个代码,自然想到了自己建头文件的方法,但是添加进去之后,编译依然没法通过。

分析了下问题后发现集中在

  1. #if __STDC_VERSION__ < 199901
  2. typedef int _Bool
  3. #endif
  4. #define bool _Bool

typedef用来定义了int的一个别名_Bool, 然后又把bool 定义成_Bool 这个类型,其实就是等价于#define bool int

在没有查出编译错误的原因的情况下 我按照上面的思路进行了等价替换,即

  1. #define bool int

通过编译,程序也能运行。

但是我还是回避了上面代码无法通过编译的问题,继续查找原因。。。。。。。

 

唉,反应了半天原来是typedef后面少了个; 汗颜。。。。。。保留日志纪念一下。。。。。。

你可能感兴趣的:(关于C99 标准库的问题)