标题:[讨论]FAQ新增条目建议 正确的书写规范
只看楼主
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
得分:0 
C++这些年发展很快,C在后面学习。C99标准已经引入了单行注释符“\\”和inline关键字。

其实这些特性早就被gcc为C做的扩展中使用了。
2007-09-20 14:03
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
得分:0 
以下是引用百年不亮在2007-9-20 14:03:23的发言:
C++这些年发展很快,C在后面学习。C99标准已经引入了单行注释符“\\”和inline关键字。

其实这些特性早就被gcc为C做的扩展中使用了。

是啊,GCC是做了,但还是有些少见的编译器没有,既然这个帖子是讨论规范的问题,这个就要考虑进来


编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-09-20 14:14
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
得分:0 
我们这个FAQ以标准C为准,使用C99标准,C89和C99不同的地方最好指出。

编译器是否支持没有必要讨论,常见的如vc6.0等PC中的常见编译器可以提一下,嵌入式的编译器不用管(管的过来?)。
这样决定是适应本版会员的实际情况决定的。
2007-09-20 14:46
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 

不要死抠C标准来讨论编译器及问题,无论是C89也好,还是C99也好,你死抠着C标说话毫无意义,试问天下那一款C编译器是完全死抠着C标来做的?没有,在语法上都有不同程度的不支持及扩展。如同我们说普通话一样,南方有几人能说标准?北方又有几人能说标准?是不是说的都不是普通话?是不是都不要说话了?能交流就是普通话!但是能说得更为标准当然是好的。


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-09-20 14:52
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
得分:0 
至少C89有很多编译器都支持了吧?C99以后会有更多的编译器支持的。

我们的FAQ当然是以标准为准,比如鼓励写int main()而不是void main(),这样可移植性好。
并不是说编译器扩展语法不能讨论,而是说和标准冲突的过时的要废弃。
2007-09-20 15:00
lg_mic
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-9-18
得分:0 

其实我觉得重点主要是两个
1、在大部分的编译器上可以没有问题的运行(如果是在某个系统上的某个编译器无法运行的话,单独举例子说明)
2、代码读起来比较清晰,使人一看就知道你想要表达的意思。

虽然说不一定要死抠标准,但在一些易出错和产生分歧的地方以标准来决定。


2007-09-20 15:04
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 
以下是引用百年不亮在2007-9-20 15:00:23的发言:
至少C89有很多编译器都支持了吧?C99以后会有更多的编译器支持的。

我们的FAQ当然是以标准为准,比如鼓励写int main()而不是void main(),这样可移植性好。
并不是说编译器扩展语法不能讨论,而是说和标准冲突的过时的要废弃。

int main(a,b,c,d,e)标准不标准?


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-09-20 15:41
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
得分:0 
以下是引用百年不亮在2007-9-20 15:00:23的发言:
至少C89有很多编译器都支持了吧?C99以后会有更多的编译器支持的。

我们的FAQ当然是以标准为准,比如鼓励写int main()而不是void main(),这样可移植性好。
并不是说编译器扩展语法不能讨论,而是说和标准冲突的过时的要废弃。

你既然支持用int main(),为什么不支持用/**/替换//,他们的问题其实是一样的,只不过不支持void main()的编译器比不支持//的编译器多的多的多,但不能因为这样就放弃讨论,嵌入式的编译器我们不用讨论到底有哪些支持什么,又不支持什么,我们只要知道有不支持就行,然后我们就些所有编译器都支持的就行

和标准冲突的过时的要废弃?放弃什么.放弃编译器?既然能选择这样的编译器大多都是只能选择这样的编译器,与其考虑这个,不如编写通用的代码要实际的多

[此贴子已经被作者于2007-9-20 17:51:25编辑过]


编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-09-20 17:50
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
得分:0 
很郁闷!我用的不是标准C linux和企业AT&T哪个C,郁闷
这学期没用标准c的

You have lots more to work on! Never give up!c language!
2007-09-20 17:53
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
得分:0 
以下是引用lg_mic在2007-9-20 15:04:47的发言:

其实我觉得重点主要是两个
1、在大部分的编译器上可以没有问题的运行(如果是在某个系统上的某个编译器无法运行的话,单独举例子说明)
2、代码读起来比较清晰,使人一看就知道你想要表达的意思。

虽然说不一定要死抠标准,但在一些易出错和产生分歧的地方以标准来决定。

第一条不实际,没有人知道到底有多少种情况的特殊的,考虑这个问题,不如看看到底怎么写是可以都能运行的,如果一个C的标准上注明只能适用什么机器,那这个标准对C来说就是废纸,因为C的特点就是可移植,照这种标准写C,不就是限制C的用处,那还何必定这个标注

[此贴子已经被作者于2007-9-20 17:57:02编辑过]


编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-09-20 17:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-171171-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.187605 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved