这本书是O‘REILLY Taiwan翻的,才看到第1章的字符集部分,就被书中文字震惊了!
以下是此书第14页第14行的内容:
编译器转换源代码文件时,编译器所处的环境称为翻译环境(translation environment);编译器执行时,所处的环境称为运行环境(execution environment)。
以下是此书英文原版的内容:
C makes a distinction between the environment in which the compiler translates the source files of a programthe translation environment and the environment in which the compiled program is executed, the execution environment.
正确的中文翻译应为:
编译器转换源代码文件时,编译器所处的环境称为翻译环境(translation environment);编译后的程序执行时,所处的环境称为运行环境(execution environment)。
中文版对运行环境的翻译是完全不符合英文原文,也不符合ISO/IEC 9899:1999中5.1节对运行环境(execution environment)的定义!!!
附
原文:
All identifiers that begin with an underscore, followed by a second underscore or an uppercase letter, are always reserved. Thus you cannot use identifiers such as _ _x or _Max, even for local variables or labels.
译文:
“以下划线开始,后面接着第二个下划线或者大写字母,这样的标识符一律被保留。因此不能使用诸如_ _x或_Max形式的名称标识符,甚至不能作为局部变量或者卷标的名称。”