免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 11504 | 回复: 27

[C] 大家觉得看懂这些开源项目还要看些什么书? [复制链接]

论坛徽章:
0
发表于 2011-10-24 22:04 |显示全部楼层
现在经常用到一些开源软件,所以有时候就要把源码读读,都是C语言的,但是看起来就是觉得很困惑。
比如ffmpeg,之类的很多开源软件都是纯C写出来的。说语法嘛,都能懂,但是就是觉得这些牛人写的东西,看起来没头绪,还有大堆大堆的宏定义搞的人晕死,
很多软件都是模块化的,如果没有什么文档,看的人真是晕到。。。
大家觉得我这个情况应该看看什么书籍啊?? 设计模式吗?

论坛徽章:
0
发表于 2011-10-24 22:11 |显示全部楼层
大家觉得我这个情况应该看看什么书籍啊?? 设计模式吗?
xiaobaiwen 发表于 2011-10-24 15:04


最不该看的就是这一本,哎,业界装那啥的太多,张口闭口模式的害死人。

论坛徽章:
0
发表于 2011-10-24 22:13 |显示全部楼层
本帖最后由 三月廿七 于 2011-10-24 22:21 编辑

...

论坛徽章:
0
发表于 2011-10-24 22:30 |显示全部楼层
额,也不是模式全是装X,但是我感觉开源软件用到模式的貌似确实不怎么多,不是工业化的,代码大多很随性,规范程度不高

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
发表于 2011-10-24 22:31 |显示全部楼层
写代码的人几乎都不写 为什么这样写代码,即代码背后的思想和架构。
再加上可能做过特别的优化,能把写这些代码的人当时的思想理解出来,非常困难。
如果你有设计经验的话还好些,不然就要死磕。Read the fucking source code。

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
发表于 2011-10-24 22:36 |显示全部楼层
回复 4# ezioma


    开源软件很多都有比较好的设计。pidgin,gtk,glib,lwip,……太多了。设计都很好。程序员不要为了模式而模式,忘了模式的目的。

论坛徽章:
0
发表于 2011-10-24 22:42 |显示全部楼层
回复 2# vupiggy


    是吗??? 我也感觉好像这些牛逼开源代码里面没用太多模式啊, factory, signal 神马的还有。。。。我一直认为是我太笨,看不懂人家用的是神马设计模式。。。。

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
发表于 2011-10-24 22:43 |显示全部楼层
回复 1# xiaobaiwen


    光看书不行。要实践。

比如看gui程序,其基础架构就是 事件驱动模型。
while(1)
{
   有事件吗?
   有的话,那就处理一下。
}

上面的while循环可能隐蔽的很深。Windows SDK好些,就是
while(GetMessage())
{
   TranslateMessage()
   DispatchMessage()
}
gtk就晦涩了,直接一个gtk_main()
android隐藏的就更深了,压根就看不到了。

这些东西要考长期的实践,总结。

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
发表于 2011-10-24 22:45 |显示全部楼层
当然,如果你直接用X写gui的话,通常自己实现一个loop

论坛徽章:
0
发表于 2011-10-24 22:46 |显示全部楼层
回复 4# ezioma


    是吗?? 我感觉,他们的规范性应该很不错吧,,我是这样理解的,这些牛逼的开源项目一般都有好几年,甚至有上十几年的开源项目,开发者都来之全球,而他们各个开发出来的模块都能很好的运行起来。
我就认为他们的设计和规范应该都做得很好,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP