分类: LINUX
2008-07-08 12:51:32
linux的编程,其实没什么特别,跟普通的没什么两个样子。而且Linux用C语言更加舒心,因为很多接口直接用C可以调用。
开始阶段的小程序的编译和执行,直接用 shell 命令搞定。
gcc xx.c -o xx
将 xx.c 编译成 xx 可执行文件。这个是最简单的,很方便学习。当然前提是你已经安装了GCC编译器。
我使用的是ubuntu。默认是没有安装的,我们需要自己安装。
sudo apt-get install build-essential
基本上就OK了。
对于多个文件组成的稍微大一点的程序则适合编写 makefile 文件来组织编译。
makefile 的基本功能也就几个不难,当然,那些高级的控制功能还是需要慢慢学习一番的。
然后,所谓的“系统编程”就是调用系统提供的API而已。清楚接口就OK。所以手头上最好弄本函数说明。跟微软的 MSDN 帮助文件差不多的东西。可惜我现在还没有找到。再找找。
然后就是感觉之前学习的没有白费。C语言必须学好。就算不精通,但是对于格式方面应该没有什么问题的。
看程序和看小说其实没有差别,都是一个对于未知东西的接受的过程,C语言相当于汉字,试问,一个人汉字都不认,他能看中文的小说吗?不可能,但是一个人需要是汉语的学者,大师才能看小说吗?诚然,也不需要,一个学习过汉字的学生,或者是学习汉语的外国人,也具备了看中文小说的条件。反过来看C语言。语言,只是一种表达的工具,是说给计算机看的。所以,不需要精通,也可以泰然的看C程序。当然,C学习的好的话,那么看起程序来是轻松一点,仅此而已。
Linux的系统博大精深,要看通那不是一般人能接受的信息量。我喜欢用信息理论上面的“信息量”这个词汇,信息量就是代表了未知事物的多少。诚然,linux的信息量实在是太大了。但是,有些是万变不离其中的道理。之前学过了uC/OSII 和计算机操作系统原理(当然了,那只能是自学,因为我是电子系而不是计算机系毕业的。)当然,也只是了解了一点皮毛,但是觉得实在是受益匪浅。对很多原理了然于心。
有了这些根基,现在看Linux编程像行云流水般顺畅。所以说,基础的学习是不嫌弃少了。整天换发行版本linux,还不如定下心来学习编程,学的还有点踏实。我觉得学习得结合实际,不必要用一些苛刻的要求来自虐。看过一张帖子,说的一句话印象很深“既然我不是网络管理员,就不必要去学习那些古怪的linux命令,就算学会了,一下就给忘记光了。” 觉得很是有道理。X window 能完成的,我干嘛去用命令行完成?装牛B不成?Vim编辑器就是没有学会,那东西看起来奇怪,入门也要学大堆指令,有必要吗?怎么我感觉,真的没有必要。Makefile 是自己写,了解整个程序编译的来龙去脉就足够了,为什么要拘谨于原始代码的输入?所以,我一直找IDE环境。
现在追求的是一种境界。是一种挣脱一切的束缚,自由的敲打代码。没有固定的线,然而所有的实现却了然心中。很喜欢看《编程之道》这本书,尽管很多道理现在的我还是不能参透。但愿有天能领悟。
fin