随想录(开源代码的学习方法)

随想录(开源代码的学习方法)

ID:5331600

大小:545.57 KB

页数:6页

时间:2017-12-08

随想录(开源代码的学习方法)_第1页
随想录(开源代码的学习方法)_第2页
随想录(开源代码的学习方法)_第3页
随想录(开源代码的学习方法)_第4页
随想录(开源代码的学习方法)_第5页
资源描述:

《随想录(开源代码的学习方法)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转载请注明出处随想录(开源代码的学习方法)一、历史开源代码作为一种特色的产物,随着物联网的进步得到了前所未有的发展。一开始,很多代码其实不是开源工程,后来软件的开发商发现根本没法用这些代码来挣钱,所以索性把这些代码发布到网上,让更多的人来进行维护和开发,比如说IBM的eclipse就是这样。当然,在网络上还是存在很多志趣相同的人,因为网络让他们走在了一起,一起讨论方案,一起讨论软件架构,慢慢社区的影响力也会越来越大,这方面做的最好的就是linux、kde、gnome等软件。后来,在社区发展起来后,很多

2、的大公司为了让这些开源软件在自己的硬件设备上跑起来,纷纷对这些开源工程投入资源、建立相应的基金会、贡献代码等,比如说hp、富士通等。等到后期,一些公司主动开发开源软件,根本不指望他们能给公司带来什么收益,而是希望借此带来广阔的人气,比如说android软件。关于开源代码,其实要说的内容很多,每个人也有自己的体会。今天我抛砖引玉,就开源代码谈谈自己的一些经历,当然谈及的项目基本上都是以C语言项目为主,对于其他的搜索项目、框架项目、平台项目没什么经验、也谈不好,希望大家多多谅解。二、特点相比较私有软件,开源代码有很多的自己的特点,我们不妨聊聊看看,(1)开源代码质量差别迥异;(2

3、)开源代码形态各异,有的是完整的软件,有的只是插件;(3)开源代码热度不一样,很多软件其实已经没有人维护了;(4)开源代码一般没有专门的支持人员,很多事情需要自己解决;(5)开源代码的编译环境迥异,要努力寻找合适自己的。三、阅读代码要阅读代码,需要很多的前期条件。首先,你得把软件编译出来吧;其次你需要基本的软件知识吧,常用的调试方法也必须掌握;最后,对于软件本身需要的内容你得明白吧,搞视频播放的得知道视频编解码的相关知识,搞压缩软件的要知道压缩的相关算法,搞搜索引擎需要知道爬行、分词和索引查找的相关知识吧,当然这些都是一些基础条件。那么,如果我们已经做到了上面几点,接下来应该

4、怎么做呢?(1)下载代码,本地编译通过,生成版本;(2)熟练使用该软件,明白软件的基本功能和操作方法;(3)根据软件功能分析软件的模块结构;(4)寻找到某一个软件最被可能断住的地方设置断点,查看上下文;本文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转载请注明出处本文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转载请注明出处(5)围绕上下文判断代码的来龙去脉,逐步展开;(6)尝试修改代码,重新编译验证自己的想法,循环之;(7)不断拓展代码的阅读范围,注意记录笔记和与网友分享;(8)分析代码的时候,忌快,一目十行不如看懂一

5、行。四、编译环境对于C语言和C++与来说,使用的比较多的还是windows环境和linux环境。其实C语言的编译其实挺简单的,windows上面有visualstudio帮忙,linux上面有autoconf和automake这个强大工具,编译看上去是件容易的事情,其实不然,(1)不同的编译器对C语言的支持标准是不一样的;(2)编译器的不同版本也会出现编译不一致的情况;(3)很多软件常常需要进行修改,这就是对大家基本功的考验;(4)某些软件需要依赖第三方库,需要自己动手编译;(5)部分软件只支持高版本的编译器,移植到低版本的编译器要靠自己;(6)部分软件使用linux可以编译

6、通过,但是在windows的cygwin就是编译不过;(7)部分软件编译时间长,而且内存占用大,一旦编译失败,前功尽弃;(8)头文件失败、链接失败、数据类型转变失败,很多情况需要自己处理解决。五、选择代码网上的代码很多,但是要选择真正对自己有用的代码。否则,对于那些低质量的代码,即使你下载下来也没有什么用。(1)下载高质量的代码;(2)下载的代码要结构清晰、编写规范;(3)下载的代码要可编译;(4)下载的代码最好一直在演进中;(5)下载的代码最好经过了很长时间的验证;(6)下载可以独立使用的一段代码,好阅读、好总结;(7)使用业内广泛使用的开源代码,降低成本,尽量不要一个人战

7、斗。六、下载工具目前关于代码下载的办法还是很多的,当然最简单、最方便的还是直接从服务器上面进行下载使用,不过现在也有很多的下载软件了,比如说,(1)svn工具;(2)Git工具;(3)ftp工具等等。七、寻找代码我平时看代码主要是C和C++代码为主,Java代码也会偶尔看一下。平时除了自己积累一些代码之外,也会主动去寻找一些代码,比如说,本文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转载请注明出处本文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。