作者:Artoria2e5
链接:https://www.zhihu.com/question/26031045/answer/31875751
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
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, Debian, OpenSUSE, ArchLinux, Fedora, Gentoo, Ubuntu…
你问我 GNU 有没有自己的内核,我只能说有个 HURD,但是至于好用不好用……
另:没能成功理解你们为什么点没有帮助,我可是认真按照题主问题描述回答的啊…
又:问题标题按照描述改了,嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿。
* * *
听信了我评论区里面说 mono 对 WinForms 支持好的各位,我对不起你们啊。mono 这坑爹玩意儿,你去查系统默认字体给你返回的是 MSDN 文档上的 Windows 字体(Xamarin#40791)还不算,这玩意 libgdiplus 干脆不支持字体回落(Xamarin#39418)。更不要说 UTF-16 支持了。这货能用?Bug List
|