当然,对于系统级别以外的模式化编程而言,编程基本上没有任何区别,只是习惯和出发点不同,流程大体是相似的。
0. Linux 是用 C 写的,你读的就是 C 语言写成的代码,这些代码编译之后成了 Linux 内核。不过因为内核几乎得自己靠自己,你多半是看不到什么外部的函数了(当然,有种科技叫做静态编译,不保证 Linux 内核没去用,我可懒得读 Makefile)。1. Linux 一方面好改(驱动就是比 BSD 多),另一方面允许狂改(GPL v2),还比较耐艹。不用 Linux 用别的有时候还真难,更别说 Linux 不要钱了。
2. Linux 只是个平台,理论上说和别的系统没什么两样,只不过和 Windows 比少了反斜杠路径又多了 UNIX 的美味,和 OS X 比少了各种签名的痛苦又多了几个会叫你 Google 一下就知道了的程序员……(题主要的是优点我就只说优点吧)C 的话的确是 UNIX 和类 UNIX 世界的传统主力,不过什么 Java C# nodejs PHP Python 也都有人用在 Linux 上用得很爽啊……(因为 Linux 某些方面好开发,新语言也很多都是 Linux 优先支持的。类似地,一些内核支持让某些程序/语言在 Linux 上有特殊优势。)
3. 你要给 Linux 写东西,看内核是不够或者没用的(源代码什么的还总是要特别去看的话某些平台的程序员早就…)你需要摸清自己需要什么,然后去找对应的库,接下来学会拼起来(看你妹的源码,有库文档看还是看文档啊)……你要修改 Linux,在内核的编译选项菜单里面那一堆基本够用,并且外围软件你更可以自己裁剪啊……当然要是题主是内核裁减巨巨那当我没说。
// GNU 狂魔模式
Linux 只是个内核,一个特性多到处用的内核,而它上面的程序和程序需要的库,又要从别的代码编译。这些代码里面有个来源是大头,它就是 GNU,类 UNIX 世界自由的灯塔……
GNU 的信徒(啊呸)们让 GNU 和不少其他人智慧的代码(包括我们的 Linux)一同工作,好让这些代码显示出他们各自的名字:Redhat, Bug List
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)