免费注册 查看新帖 |

Chinaunix

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

争论C概念正确性的一般路子是什么? [复制链接]

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
161 [报告]
发表于 2012-06-04 14:01 |只看该作者
回复 159# wwwsq


    “几个礼拜”?是吧?

我就不多说什么了,一种智商上的优越感油然而生。

看来你完全无视掉了我的话,语言层面上,“考虑到了标准,就很容易做到兼容”,库什么的,按flw的话(我其实是比较赞同的),一个好架构就很容易换实现了。

最后科普一下,你真的觉得Hello World就很兼容?

看看你维护的谭浩强的“名言吧”:

void main()


真的是很兼容呢~~

论坛徽章:
0
162 [报告]
发表于 2012-06-04 14:03 |只看该作者
starwing83 发表于 2012-06-04 14:01
回复 159# wwwsq



coreutils里面就要求编译器必须支持int main(),否则coreutils就歇菜。

我们对应用程序的兼容性要求不高,能达到coreutils的要求就顶天了。实际上我们都没coreutils那么高的要求。



论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
163 [报告]
发表于 2012-06-04 14:03 |只看该作者
本帖最后由 starwing83 于 2012-06-04 14:04 编辑

回复 160# wwwsq


    另外我好像提过OW的话,完全遵守标准的程序实际上啥都做不了。这里似乎就包含了POSIX和(特别地)pthread。这玩意儿基本上就是反标准的。虽然C11也加了线程支持,但是还是等几年吧。

遇到多线程的问题通常都是其他标准了,比如POSIX本身也是一个IEEE的标准。移植性还好,而且windows上面也有库支持。或者是各写各的代码,impl_win32.c impl_posix.c,参见redis,这样也是很优雅的一个方案。

论坛徽章:
0
164 [报告]
发表于 2012-06-04 14:04 |只看该作者
starwing83 发表于 2012-06-04 14:01
回复 159# wwwsq



coreutils要求编译器必须支持int main(),否则coreutils就歇菜。

我们对兼容性的要求还低于coreutils。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
165 [报告]
发表于 2012-06-04 14:05 |只看该作者
回复 164# wwwsq


    看来你真的不懂这个世界上,不是离了configure脚本就不能编译的。

我已经为好几个GNU的项目写CMake脚本了,就是嫌configure麻烦。

论坛徽章:
0
166 [报告]
发表于 2012-06-04 14:06 |只看该作者
starwing83 发表于 2012-06-04 14:03
回复 160# wwwsq



那你的程序大概也没用过gettimeofday()了?这个函数在很多平台都是没有的。不知道你是怎么兼容所有平台的?ios上有这个函数吗、bsd有吗、windows有吗?

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
167 [报告]
发表于 2012-06-04 14:08 |只看该作者
回复 166# wwwsq


    我好像提过了xxx_win32.c xxx_posix.c吧?

好,浑水就此打住,这招转移话题对我没效果的。我说的很明白了是“标准帮助你兼容更多的编译器”,而不是“更多的API”,我举的例子是gcc3到gcc4迁移,麻烦看清楚也只是语法上的问题,库根本就没有任何问题(塞班自己的头文件的**语法**问题除外),我相信看到这里的童鞋们又会对你的胡搅蛮缠,偷换概念和转移话题的能力有新的认识。

论坛徽章:
0
168 [报告]
发表于 2012-06-04 14:08 |只看该作者
starwing83 发表于 2012-06-04 14:05
回复 164# wwwsq



coreutils目前就是必须要求编译器支持int main(),否则它就不干活。怎么办怎么办?

还有pragma once,标准说是obsoleted,但是哪个主流编译器敢不支持?不支持试试?


论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
169 [报告]
发表于 2012-06-04 14:09 |只看该作者
回复 168# wwwsq


    编译器一定支持int main,因为这是标准。

pragma once?C标准有这个么?C++似乎有吧,我不确定。不过,我真没见过多少项目用这个的。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
170 [报告]
发表于 2012-06-04 14:11 |只看该作者
回复 162# wwwsq


    继续剖析你的逻辑回路:我提的是谭浩强用void main,不符合标准,所以无法移植。你居然说coreutils必须要求int main,要是编译器不支持这个就没法移植,要求这么高怎么移植?


兄弟,int main恰恰就是标准啊!!您是支持我观点的来着?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP