怎么着手看开源软件

jdwq33 2013-07-12 02:32:13
现在觉得C和C++的基础还可以了,非常想增加自己的代码量,
于是就想看看开源的软件(如:proftp),这个软件以前装过,也用过。
我是用source insight软件看这个程序的,但是发现装过软件的代码量太大了,
不知道怎么着手看,从哪里开始看。而且我发现这个软件有很多main函数????
求助大虾帮忙啊,呵呵!能否给点建议啊......拜谢
...全文
333 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdwq33 2013-07-15
  • 打赏
  • 举报
回复
引用 10 楼 turingo 的回复:
看了再说,“书读百遍,其意自现”,想着走捷径的话就趁早放弃。反复的读,坚持下去,仅此而已。
恩,很赞同您的观点。
jdwq33 2013-07-15
  • 打赏
  • 举报
回复
引用 11 楼 cfjtaishan 的回复:
你是看开源软件,还是开源软件的代码,如果看代码我建议你使用的软件是:souce insight软件。
呵呵,我就是用的这个软件。
jdwq33 2013-07-15
  • 打赏
  • 举报
回复
引用 16 楼 milaoshu1020 的回复:
先编译一遍,看能不能通过。如果可以就单步跟踪。
程序是用makefile弄好了的,怎么单步跟踪啊?
jdwq33 2013-07-15
  • 打赏
  • 举报
回复
引用 17 楼 xuexingyang 的回复:
先找入口点,看是哪个进程调进来的,然后一步一步的跟下去,加log。等程序运行中,不停的看当前所有的进程,然后又分析进程线程间的通信机制。尝试画些流程图。
恩,是的,呵呵!
xuexingyang 2013-07-15
  • 打赏
  • 举报
回复
先找入口点,看是哪个进程调进来的,然后一步一步的跟下去,加log。等程序运行中,不停的看当前所有的进程,然后又分析进程线程间的通信机制。尝试画些流程图。
milaoshu1020 2013-07-15
  • 打赏
  • 举报
回复
先编译一遍,看能不能通过。如果可以就单步跟踪。
mujiok2003 2013-07-13
  • 打赏
  • 举报
回复
梳理出设计结构,不要被具体的算法牵着走,不要在细节中迷失。学习一些习惯用法,积累多了,速度会很快。
自信男孩 2013-07-13
  • 打赏
  • 举报
回复
你是看开源软件,还是开源软件的代码,如果看代码我建议你使用的软件是:souce insight软件。
图灵狗 2013-07-13
  • 打赏
  • 举报
回复
看了再说,“书读百遍,其意自现”,想着走捷径的话就趁早放弃。反复的读,坚持下去,仅此而已。
引用 楼主 jdwq33 的回复:
现在觉得C和C++的基础还可以了,非常想增加自己的代码量, 于是就想看看开源的软件(如:proftp),这个软件以前装过,也用过。 我是用source insight软件看这个程序的,但是发现装过软件的代码量太大了, 不知道怎么着手看,从哪里开始看。而且我发现这个软件有很多main函数???? 求助大虾帮忙啊,呵呵!能否给点建议啊......拜谢
leizh007 2013-07-13
  • 打赏
  • 举报
回复
马克一下,我也遇到了同样的问题
qq120848369 2013-07-13
  • 打赏
  • 举报
回复
算法最难,算法懂了读代码就是欣赏一下别人设计的思维,不会太难。
socrates 2013-07-12
  • 打赏
  • 举报
回复
建议先看一下源代码的目录结构,通常都是按功能来分的,然后找一个感兴趣的开始看。
AnYidan 2013-07-12
  • 打赏
  • 举报
回复
引用 6 楼 jdwq33 的回复:
[quote=引用 5 楼 adlay 的回复:] 看代码确实是一个比写代码还艰巨的工作.
是的,接受别人的思想,而且还要跟着别人的思路走[/quote] ++
jdwq33 2013-07-12
  • 打赏
  • 举报
回复
引用 5 楼 adlay 的回复:
看代码确实是一个比写代码还艰巨的工作.
是的,接受别人的思想,而且还要跟着别人的思路走
www_adintr_com 2013-07-12
  • 打赏
  • 举报
回复
看代码确实是一个比写代码还艰巨的工作.
赵4老师 2013-07-12
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试是程序员必须掌握的技能之一。
狼异族 2013-07-12
  • 打赏
  • 举报
回复
引用 2 楼 jdwq33 的回复:
[quote=引用 1 楼 L812234929 的回复:] 分功能看吧。要看完不太现实。
我也发现了,但是我现在不知道从哪里开始看。感觉一片茫然。[/quote] 你先看一些它的公共库吧,这些才是有用的东西。
jdwq33 2013-07-12
  • 打赏
  • 举报
回复
引用 1 楼 L812234929 的回复:
分功能看吧。要看完不太现实。
我也发现了,但是我现在不知道从哪里开始看。感觉一片茫然。
狼异族 2013-07-12
  • 打赏
  • 举报
回复
分功能看吧。要看完不太现实。

69,375

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧