免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: pmerofc
打印 上一主题 下一主题

[C] 以其昏昏,使人昭昭? [复制链接]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
3661 [报告]
发表于 2012-07-31 23:40 |只看该作者
回复 3675# pmerofc

ISO C对include的规定就是将文件内容就地展开。而文件的后缀,除了那些standard header是已经用了.h之外,没有规定应该/必须用什么。

而ISO C又规定了什么?规定了什么叫定义与声明,规定了linkage,规定了one definition rules。
相比.h/.c或者.xxoo,这些才是更重要的。后者才是C语言本身、前者只是在后者基础上产生的另一个通俗的约定而已。

只要理由足够充分,又满足了C语言的定义 —— 我相信村夫不会是连multiple definition都解决不了的水平,或者说他都敢再三提inlcude .c,应该连这种错误都不会犯。
那么打破个人为约定又有什么值得大惊小怪的?

就像"禁用goto"、"switch须接break,哪怕是最后一个标号,否则一定要跟一条注释"、"不要用if (p),if (p!=0),if (p!=NULL), if (0!=p)而要用。。。"
就这么见不得其他人打破自己坚持的那点教条? 就不能多包容一点? 争论的都是些什么鸡毛蒜皮的事啊?
他人在他的情形、价值观下写了点与你们价值观不同的代码,又关你们什么事啊?

最好与最正确的教条或最佳实现是: use your brain, always。



前面说打破.h/.c有个前提一直没说,就是有充分的理由。
static是ISO C提供的标准的控制访问性的方式。inlcude也是ISO C提供的将其他文件内容插入到当前位置的标准机制。 —— 每个编译器都会提供。
既然它们能解决问题,为什么必须要去用编译器提供的扩展? 而且这些扩展的控制能力还不如static(linking target之间与translation unit之间)。

@蔡万钊不能理解这样的价值观(村夫所说的代价)我不奇怪。我奇怪的是为什么你也不能理解?

在其他各种问题上,你几乎都是坚守ISO C(这不用我举例了吧?),为什么只在这个问题上宁可用编译器扩展?
于是我就不明白了,你意图宣扬的到底是ISO C?还是你所理解的C?只是恰好大部分情况下两者相同,所以ISO C被当枪使了



>> 这个话题不断有新观点出现,我觉得是好事。争论是好事
我倒是觉得这事坏得不能再坏了。
是否不能inlcude .c,与是否不能goto,是否不能省略break、省略if里的!=0、省略{}等等都是一类问题 —— 闲得蛋疼。
你有你的风格、他有他的习惯,各种情形状况不同,为什么非得认为自己对这种无关正确性的选择是所有人都必须遵守的?
我倒是希望能不要出现这种无关痛痒的讨论,但我希望没用,肯定会层出不穷的。

>> sw后来做了一个较为全面地总结
inlcude .cpp大概08年时用过,goto肯定从08年之前开始就没用过了。
而我几小时之前还在看这货的代码,include .c与goto都有,你问他,我对此开腔了么?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
3662 [报告]
发表于 2012-08-01 08:52 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
3663 [报告]
发表于 2012-08-01 08:59 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
3664 [报告]
发表于 2012-08-01 09:06 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
3665 [报告]
发表于 2012-08-01 09:16 |只看该作者
pmerofc 发表于 2012-08-01 08:59
回复 3679# OwnWaterloo


“应该遵守习俗”,习俗这玩意吧,取决于每个人的见识范围,不同的人有不同的理解。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
3666 [报告]
发表于 2012-08-01 09:25 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
3667 [报告]
发表于 2012-08-01 09:28 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
3668 [报告]
发表于 2012-08-01 09:38 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
3669 [报告]
发表于 2012-08-01 09:55 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
3670 [报告]
发表于 2012-08-01 10:05 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP