免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 26776 | 回复: 231
打印 上一主题 下一主题

再顺便强x一下某昏昏吧 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-28 12:52 |只看该作者 |倒序浏览
本帖最后由 wwwsq 于 2012-05-28 22:21 编辑

某昏昏对老谭很不满意,点评说:
“函数属性”:莫名其妙的说法

实际呢,看看gcc的帮助文档:
http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html

某昏昏自己对function attributes毫无概念,反而说老谭莫名其妙。这大概就是无知者无畏吧。

强x好像是会上瘾的。要是每天都来强x一下,会不会有点太过分?


5/28 22:20 附加说明:gcc引入__attribute__关键字是为了更方便的描述更多的函数属性,但是在gcc引入__attribute__关键字之前,函数就一直都是有属性的。

论坛徽章:
23
双鱼座
日期:2013-08-30 09:25:19辰龙
日期:2014-07-28 11:22:24白羊座
日期:2014-08-26 10:34:1815-16赛季CBA联赛之浙江
日期:2016-03-15 10:51:5415-16赛季CBA联赛之八一
日期:2016-05-31 09:38:3615-16赛季CBA联赛之辽宁
日期:2017-08-31 14:59:2115-16赛季CBA联赛之辽宁
日期:2017-12-06 14:12:3615-16赛季CBA联赛之天津
日期:2019-01-02 15:25:4915-16赛季CBA联赛之深圳
日期:2020-12-06 11:26:21狮子座
日期:2014-05-19 09:16:35技术图书徽章
日期:2014-03-27 13:37:39技术图书徽章
日期:2013-08-30 09:28:52
2 [报告]
发表于 2012-05-28 13:12 |只看该作者
楼下自备板凳,顺带顶楼x

论坛徽章:
10
亥猪
日期:2013-08-15 14:50:422015年迎新春徽章
日期:2015-03-04 09:58:112015亚冠之吉达阿赫利
日期:2015-07-21 09:49:08神斗士
日期:2015-11-20 14:07:3815-16赛季CBA联赛之江苏
日期:2017-08-17 14:04:21CU大牛徽章
日期:2013-09-18 15:15:45CU大牛徽章
日期:2013-09-18 15:16:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34巳蛇
日期:2014-03-29 19:05:3215-16赛季CBA联赛之辽宁
日期:2022-04-08 16:41:44
3 [报告]
发表于 2012-05-28 13:15 |只看该作者
lollol

论坛徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16赛季CBA联赛之青岛
日期:2016-07-05 12:36:0515-16赛季CBA联赛之广东
日期:2016-06-29 11:45:542015亚冠之全北现代
日期:2015-07-22 08:09:472015年辞旧岁徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39狮子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技术图书徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
4 [报告]
发表于 2012-05-28 13:16 |只看该作者
“老谭”是怎么讲解“函数属性”的?
“某昏昏”又是怎么批的?
因为我怀疑,gcc的“function attributes” 和 老谭口中的“函数属性” 是两个不同的概念

论坛徽章:
0
5 [报告]
发表于 2012-05-28 13:17 |只看该作者
本帖最后由 wwwsq 于 2012-05-28 16:05 编辑

某昏昏对strlwr不满意,说“不知道老谭哪儿搞来的这东西”,实际上这个是<string.h>里面的,是事实标准。
然后某昏昏说“这个函数的参数也不可能是“字符串”,只能是存放在数组中的字符串”,那好我把这个函数的原型贴出来:
extern char *strlwr(char *s);

见识少不是你的错,不要出来乱说话就好。我也不挑剔,继续往下看:

老谭说“库函数并非C语言本身的组成部分”,某昏昏对此大为不满,说“看来C标准完全可以把库函数部分删除了”。
从严格意义来说,库函数确实不是C语言本身的组成部分。就如jdk和jvm不是一回事一样。现在的发展趋势是语言和库的界限越来越模糊,但是从概念上讲,语言就是语言,库就是库。看过<string.h>和<string>这两个头文件之后,对于语言和库的区别会有更清晰的理解。

我还是不挑,再继续往下看:
昏昏说"81这个常数也很怪异",外行了吧?80是很多界面的约定每行字符数,81是多了一个结束符。顺手用81字符一点都不怪异。
代码风格什么的完全是口味问题,比如很多人就是喜欢{在行首,没什么好说的。

不挑剔,继续往下看:
"C语言把赋值运算作为表达式
评:晕"
某昏昏对操作符、表达式这些基本概念只是知其然不知其所以然,所以晕也是正常的。不评论。

先这样。


5/28 15:55 修正一下:strlwr在linux的<string.h>里面并没有,我的措辞不够严谨(这里是加修正,不修改原文,以免别人说我耍赖)。这个函数在tc和vc里面都有。很多程序也自己实现了这个函数。和itoa之类的函数一样,可以算是事实标准。老谭写书是基于tc写的,拿strlwr出来说说,很正常。实际上这个函数使用很广泛,只是C委员会太羞涩了才没标准化。

论坛徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16赛季CBA联赛之青岛
日期:2016-07-05 12:36:0515-16赛季CBA联赛之广东
日期:2016-06-29 11:45:542015亚冠之全北现代
日期:2015-07-22 08:09:472015年辞旧岁徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39狮子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技术图书徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
6 [报告]
发表于 2012-05-28 13:19 |只看该作者
虽然我不了解C语言之父谭浩强,但我觉得他不应该懂得gcc,也不可能在遥远的过去能预言到gcc未来会有function attributes这一说法。
于是我google了一下,谭浩强说的函数属性可能是指 extern/static 这两种,而非你说的 __attribute__ 描述。

论坛徽章:
0
7 [报告]
发表于 2012-05-28 13:23 |只看该作者
bruceteen 发表于 2012-05-28 13:19
虽然我不了解C语言之父谭浩强,但我觉得他不应该懂得gcc,也不可能在遥远的过去能预言到gcc未来会有functio ...



如果用比较模糊一点的概念来说,函数是有很多属性的,stdcall啦,static啦。所以泛泛的说函数属性,肯定是没错的。函数本身也算是一个“对象”,这个对象是有很多属性的。

论坛徽章:
12
巳蛇
日期:2013-09-16 15:32:242015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之约旦
日期:2015-02-11 14:38:37双鱼座
日期:2015-01-05 11:05:47戌狗
日期:2014-12-08 09:41:18戌狗
日期:2014-08-15 09:29:29双子座
日期:2014-08-05 09:17:17卯兔
日期:2014-06-08 15:32:18巳蛇
日期:2014-01-27 08:47:08白羊座
日期:2013-11-28 21:04:15巨蟹座
日期:2013-11-13 21:58:012015年亚洲杯之科威特
日期:2015-04-17 16:51:51
8 [报告]
发表于 2012-05-28 13:23 |只看该作者
bruceteen 发表于 2012-05-28 13:16
“老谭”是怎么讲解“函数属性”的?
“某昏昏”又是怎么批的?
因为我怀疑,gcc的“function attributes ...


Gcc的文档说的它自己的__attribute__扩展,谭X讲的显然不可能是这个,我估计谭X的意思应该是指函数的链接属性(static/extern)。

论坛徽章:
0
9 [报告]
发表于 2012-05-28 13:26 |只看该作者
本帖最后由 wwwsq 于 2012-05-28 13:26 编辑
zhaohongjian000 发表于 2012-05-28 13:23
Gcc的文档说的它自己的__attribute__扩展,谭X讲的显然不可能是这个,我估计谭X的意思应该是指函数的链 ...



不管老谭说的“函数属性”是泛泛而言的,还是具体指gcc的attribute,“函数有属性”这个事实是确实存在而且一直存在的。

很多人拘泥于面向对象、面向过程,而没有意识到function本身也可以说是“对象”,也有属性。某昏昏明显就属于被拘泥的情况。

论坛徽章:
0
10 [报告]
发表于 2012-05-28 13:26 |只看该作者
本帖最后由 三月廿七 于 2012-05-28 13:28 编辑

支持楼主,  

不过,我有点担心楼主 强 X 不成反被 C
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP