求教,新手如何来学习阅读一些优秀的开源C代码

cylinux 发布于 2015/02/10 14:17
阅读 625
收藏 0

@中山野鬼 你好,想跟你请教个问题:本人学习编程的目的很多是出于解决客户端应用的需求,以及日常工作的自动化等,因此学的都是些c#,python,shell,perl之类的玩意。现在工作需求需要阅读些开源的代码,程序是C写的,感觉读的甚是吃力,基础的语法虽然也学过,就是看到C这玩意就晕,不像面向对象语言那样好读,请问有什么办法可以做些提高吗,能让我能够至少看懂这些开源的代码,现在真的是无从下手,打开一篇就是各种宏,各种乱七八糟的指针,脑袋里没有一个主线。看过很多您写的关于C的文章,感觉您应该有独特的见解,敢问大牛们在没有文档的情况下是如何阅读这些优秀的C代码的,求给我这种新手一些建议。谢谢。

加载中
0
中山野鬼
中山野鬼

哈,第一我不是大牛啊。第二,没有文档的情况下,通常我不会去看代码。第三,c语言的编程思路和很多高级语言不同。你需要对“对象”的存储有非常直观的概念。比如 

int a;

static int a1;

int func(int a2){

 int a3;

}



上面a0,a1,a2,a3都有什么不同。

至于乱七八糟的指针,这个要看你的抽象能力。这种抽象能力和对宏的应用熟练度有关,当然和编码的风格也有关。。。

补充说一句,开源代码的质量,和开源代码对应程序被应用的程度和质量没关系。可能有些开源代码对应程序被广泛应用,但是代码质量一塌糊涂。。也可能一套性能很不错的程序,其代码质量也是一塌糊涂。

你要锻炼,需要找质量好的代码,但这不是第一步,第一步你要非常清除将要分析的代码,究竟在做什么,它的系统静态构造原理是什么,它的动态构造运行原理是什么。否则你越看越糊涂。




cylinux
cylinux
非常非常感谢,您的文章和建议总是让我收获颇多
返回顶部
顶部