LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: doubleelec

一道老题

[复制链接]
 楼主| 发表于 2004-8-4 13:52:17 | 显示全部楼层
回答1  冒号后面那个数字表示冒号前面那个域所占的位数

回答2   如果 #define intbit ((INT *)&num) 就用 intbit->XXX;
而这里多了个星星 #define intbit (*((INT *)&num)) 所以用intbit.XXX;
一回事
发表于 2004-8-4 13:54:52 | 显示全部楼层
域?
C语言有这个东西?是C++吧。。。
发表于 2004-8-4 13:58:09 | 显示全部楼层
位域,这个东西很少用到,不过有时还是很有用的
C99 6.2.7.1有这个东东的
发表于 2004-8-4 14:04:17 | 显示全部楼层
最初由 doubleelec 发表
不过问题是如果unsigned int如果不是32位了,
那个程序就要重新生成
这样一来生成程序的时间也应该算进来了


我是为了方便才那么写的。
可以用sizeof表示int的大小,用宏来定义那个结构,用条件编译控制结构的大小
发表于 2004-8-4 14:08:42 | 显示全部楼层
最初由 lucifer 发表
位域,这个东西很少用到,不过有时还是很有用的
C99 6.2.7.1有这个东东的

可惜,能用到这个的,大多数是嵌入式开发领域,而嵌入式开发领域的大多数C解释器并没有那么高的ANSI C兼容标准。
发表于 2004-8-4 14:14:10 | 显示全部楼层
这个可以放心,K&R C 就已经有这个了
发表于 2004-8-4 14:18:55 | 显示全部楼层
可是我刚才在Texas Instruments和Motorola的C解释器上面都没有发现对它们的支持。。。-0-
发表于 2004-8-4 14:21:37 | 显示全部楼层
为什么不是编译器啊
发表于 2004-8-4 14:31:54 | 显示全部楼层
嘿嘿。。。概念混淆了,应该是它们编译器都不支持。
发表于 2004-8-4 14:43:06 | 显示全部楼层
那就是只实现了C的子集了。
不过它的开发套件声称自己提供了C语言的支持吗?还是只是支持C的一个子集,或者说是仅仅支持一个使用类C的语法的语言?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表