摘要: 18.5 编译警告当编译一个C程序时,有两类麻烦,一是错误信息,这使用你不能完成编译;另一种是警告,它提示你应该遵循严格的标准,便不会中止编译,你也可以不用理会驼些告警,直接运行程序,但这不是一个好主意。GCC提供非常好的警告控制,例如,你不喜欢区分错误和警告,可以使用-Werror选项使用GCC在出现任务警告时停止编译,就跟出现错误一样。其他的选项支持古老的或非标准的告警控制。使用选项-W可以启用GCC个别的告警,例如,选项-Wswitch-default提示GCC当使用了switch语句,但没有带default标签时出现一个警告。使用GCC中的这些警告最简单的方法是在命令行中使用-Wall 阅读全文
posted @ 2011-05-02 11:20 Socrates 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 18.4 C方言当编写一个C程序时,首先要做的一件事是确定在多种C的定义中遵循哪一种,GCC的默认方言版本为“GNU C”,它在很大程度上为ISO/IEC 9899:1900标准,以及它发布的勘误表和许多语言扩展,这些扩展一部分已经包含在C99中标准化了,例如复杂浮点类型和long long整形,另外一部分特性没有被采用,例如,复杂整形类型和长度为0的数组,全部的扩展列表在GCC文档中有提供。要关闭所有GNU C的扩展,可以使用命令行选项 –ansi, 本书以ISO/IEC 9899:1999 (或C99)来进行描述。GCC语言标准化选项有:-std=iso9899:1990, -std=c8 阅读全文
posted @ 2011-05-02 00:09 Socrates 阅读(188) 评论(0) 推荐(0) 编辑