首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么检查typedef起的别名 再开一贴问吧

2012-03-05 
如何检查typedef起的别名 再开一贴问吧请问如何检查某个名字是否被定义过了?例如:typedef int u8检查 u8

如何检查typedef起的别名 再开一贴问吧
请问如何检查某个名字是否被定义过了?

例如:

typedef int u8;
 
检查 u8 是否有效,这个typedef可能在别的地方定义过了,也可能没被定义,保证可移植性!

注:是在source code未知的情况下做这样的检测。

例如检测有个 名字 有可能在C库里定义了,但只是可能,例如不同的uclibc, bionic c等等,如果没被定义,会编译报错,所以需要预先检测是否被定义了

[解决办法]
没有办法,这样就只能凭自己的记忆,或者好的命名规则
[解决办法]
编译一下出错又如何?

不然你就在使用到u8的地方就typedef int u8
或者自己写个头文件里面typedef int u8 使用到的都包含这个文件
反正重复typedef int u8 也不会出现问题
[解决办法]
“这个typedef可能在别的地方定义过了,也可能没被定义,保证可移植性!”

你这个问题就好像我不知道我定义了test()函数了没有
但是我非得用

但是你的问题比test()好在重复typedef不会重定义 前提是typedef u8为同一类型
[解决办法]
C、C++没有提供,或者说忘了提供检测typedef的方法、机制。
在某些编译器下可以用#ifdef XXX来检测,但是不具有可移植性。
编译错下又如何,那么多开源软件都这么过来的。

热点排行