当以艺术眼光看程序,寻找程序后面的原理,做到化而不忘
全部博文(57)
分类: C/C++
2013-01-24 12:36:54
以前听过王国维论人生的三境界,深有同感,学了这么多年C语言,也有一点小感悟,与同行交流.
在我看来,C语言的学习有三重境界,分别是: 语言本身,OS, 硬件.
第一重:语言本身.
是指C语言本身的一些语言,简单地,如函数如何定义,
函数是否可以嵌套定义,
宏的用法,等. 这些是最简单的.
第二重:OS.
语言其实是OS的外壳, 语言和OS间总是有着千丝万缕的联系,
主观地割断其间联系都是不科学的,
也注定你在语言上面不可能有深入的理解.
比如,
C编译后的文件有数据段,
代码段,
堆栈段,这些段如何加载,
在PC机上加载和在嵌入式MCU中运行有什么不同.
第三重: 硬件,
这就比较具体和深入了.
对于从事嵌入式开发的人来说,
这个比较常见.
比如,
在写Bootloader时,你要知道地址空间是怎么分配的,
MCU有多个Flash,
哪些是可用的,哪些是不能用的.
你所使用的MCU的ABI是什么,等.
当然,每一层都有着不同的内涵,就看你怎么去理解了.