- 博客(11)
- 资源 (8)
- 收藏
- 关注
翻译 灵活数组成员
C99对结构体中的灵活数组成员有一定限制:结构中至少有1个其它成员灵活数组成员必须是最后一个成员包含灵活数组成员的结构体不能是其它结构体或数组的一部分对包含灵活数组成员的结构体使用sizeof,得到的值不包括灵活数组成员的尺寸,但包括该灵活数组成员之前的填充字节的长度。
2010-05-26 19:44:00
747
翻译 整数除法中有1个是负数
在C89中,带负数的整数除法的结果可以向上舍入也可以向下舍入,目的是避免运行时检查以保持舍入方向一致的开销。在Fortran中总是向0截断,数值编程社区认为这个开销可以接受,所以C99采用相似的行为以方便Fortran程序向C移植。
2010-05-26 19:43:00
719
翻译 普通字符串和宽字符串连接
C89规定普通字符串字面值和宽字符串字面值连接在一起的行为是未定义的,但C99考虑到预定义宏__FILE__以及中的格式指定符都不是宽字符串,而程序中经常要把这些宏代表的字符串和其它字符串连接起来,例如在printf中。因此要么同时提供这些宏的宽字符串版本,要么就定义普通字符串和宽字符串连接的结果为宽字符串,C99选择了后者。
2010-05-26 19:42:00
1275
翻译 指针和整数的转换
不能假设指针类型和整型有任何对应,有些实现上指针比任何整型都宽。唯一的可以安全转换为指针的整数是0。转换其它整数值,以及转换值为0的非常量表达式为指针都是实现定义的,不可移植。
2010-05-26 19:41:00
2457
翻译 算术转换
转换1算术操作数1.1布尔、字符和整数整型提升中,对于unsigned char和unsigned short的处理有两种实现:一种是总是提升为unsigned int,称为unsigned保留。另一种是值保留,即如果signed int能够容纳unsigned char和unsigned short的值,则提升为signed int,否则提升为unsigned int。Unix C编
2010-05-26 19:40:00
548
翻译 左值
C社区对左值的含义有两种观点:一种认为左值是对象的定位器,另一种认为左值在赋值符左边才有意义。C89委员会接纳了第1个观点,而术语"可修改的左值"表示的是第2个观点。
2010-05-26 19:40:00
320
翻译 兼容类型
一个头文件被两个不同源文件包含,则头文件中的结构、联合、枚举声明在两个不同的翻译单元中理论上是不同类型的,即使事实上完全一样(因为从同一个头文件而来)。标准为这种情况增加了额外的兼容性规则,即不同翻译单元中的结构、联合、枚举声明如果足够相似则认为类型是兼容的。注意,C99中新增要求不同翻译单元中的结构、联合的标签必须严格相同才能算类型兼容。
2010-05-26 19:38:00
412
翻译 标识符的作用域
在块作用域内部用extern引入外部声明,则该声明仅在该块作用域内部有效还是在文件作用域有效K&R没有清晰规定,所以两种实现都有。
2010-05-26 19:37:00
350
翻译 对象的存储期
在块作用域中,使用跳转向前越过变量的初始化,则变量没有被初始化,如果向后跳转回到变量初始化之前然后继续执行,则变量初始化2次。变量的作用域从其声明处开始,所以虽然进入块的时候变量已经存在,但是只有到达其声明处后才能用名称来引用该变量。不过这些规则对于变长数组有一定变化。实现只有到达变长数组声明处才知道需要多少空间,所以在声明之前无法创建变长数组。所以对于跳转有一定要求:禁止向前跳转到VLA
2010-05-26 19:37:00
392
翻译 三字符序列
ISO使用3个技术名词来描述字符集:repertorie、collating sequence、codeset。repertorie是不同的可打印字符的集合。该词抽象了不同样式的相同字符,例如字符R有很多种字体,但都是字符R。collating sequence对应于计算机上的内部表示,两者加起来就称为codeset。C需要的就是repertorie,标准中需要91个字符加上空白,AS
2010-05-26 19:34:00
741
翻译 如何指定UCN?
在标准中如何指定UCN?C和C++委员会研究后在草案中给出3个模型:在翻译阶段1,把基本源字符集中的所有字符都转换为UCN。在允许的地方用原始编码,其它情况下用UCN。在翻译阶段1,把所有字符都转换成涵盖整个源字符集合UCN的内部编码的宽字符集。C++采用第1个模型,这样最清晰。C使用第2个模型,为了使大量的现有源码都无需改动。
2010-05-26 19:33:00
458
RIOT OS,Towards an OS for the Internet of Things
2017-11-14
Models of Computation[Jeff Erickson][2015]
2017-11-14
Beginning XSLT and XPath Transforming XML Documents and Data
2009-11-04
J2EE Design Patterns Applied
2007-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人