我阅读了作为 C 标准库一部分的C99 标准。stdint.h
如果我测试 C99 合规性,我是否正确阅读,使用:
defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
这意味着stdint.h
应该可用?
恰当的例子:我是否可以考虑一个假装C99
合规但不提供stdint.h
与自己的合规声明不一致的环境,因此存在错误?
编辑:对于好奇的人,有问题的系统是带有 HP C 编译器的 OpenVMS(不是 gcc,它在 openVMS 上确实提供stdint.h
)。因此,根据目前收到的答案和评论,我不得不认为这个实现(伪装成 C99)是有问题的。更多详情:https ://groups.google.com/forum/#!topic/comp.os.vms/Bnh3tIOc7bo%5B101-125%5D