学习linux需要什么基础?需要了解C语言和C++吗?

学习linux需要什么基础?需要了解C语言和C++吗?,第1张

1 、一定的英文基础是必要的,需要了解C语言和C++。针对学习shell编程,及熟知各种Linux系统命令使用即可。如果有python或perl基础则更容易上手。

2、 看书时要多做习题,一题一题的弄明白,要不书也白看。从一开始养成良好的编程习惯,怎么算好的你看书上的代码怎么写的。

3、关于数学, 初中数学水平可以编程,小学甚至学前班也没什么不可以。 另一方面数学博士编程的时候也不会嫌自己数学学的太多了。 需要多少数学这跟你要做的东西很有关系, 也影响到你学习的深入程度, 工作中就影响你的代码质量。 总的来说数学水平是越高越好, 但并没有一个门槛, 什么水平都可以学, 就是质量差一些。

4、学习Linux内核开发。Linux的内核是由绝大部分的C语言和少部分汇编语言组成的。要学习Linux内核开发,必须要懂C语言,同时对 *** 作系统原理需要有一定了解。

5、学习Linux平台上的软件开发。这部分包含很广,有各种各样的要,需要根据项目性质确定基础需求。

Linux *** 作系统软件包不仅包括完整的Linux *** 作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行 *** 作。

最主要的原因是C语言写的程序你能大致知道编译器会做些什么,但C++的程序则会完全失控,你根本不知道编译器会在背后做多少事情,这对于linux内核这样的底层程序来说是很成问题的

另外,尽管C++在某些方面给开发者提供便利,但C语言如果用得好很多时候也能达到与之相当的便利程度

Linus Torvalds本人也反对使用C++开发内核,据说他曾经也试过C++,不过没搞成功,以后应该也不会再折腾了

内核开发者ArndBergmann发出了一个新的补丁,允许Linux内核在指定C11的GNU方言时默认使用“-std=gnu11”。

事件的前因后果为,Linux内核社区日前曾讨论了是否要为内核采用现代C语言标准。Linus在讨论中提出了从C89提升到C99的想法;并表示,内核代码一直停留在C89的原因之一是编译器gcc的旧版本会出现奇怪的问题,导致初始化程序被破坏。但现在内核要求的GCC最低版本已经提高到了v5.1,那些bug可能已经不再相关。

最后事实证明,以当前内核的最低版本编译器要求和当前代码的条件,他们实际上可以开始使用C11构建内核。ArndBergmann提议直接升级到C11甚至C2x。虽然他不确定C11是否会带来任何对内核有用的新内容,但如果升级到C17或C2x,会破坏对gcc-5/6/7的支持;因此升级到C11更容易实现,而且跨越太大内核社区未必接受。

Linus对该想法表示了赞成。在Bergmann确认此举可行后,Linus宣布将在下一个内核版本v5.18中尝试使用C11标准。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7141806.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存