Linux系统编程

7 linux linux-kernel systems-programming

我想进入Linux的系统编程,并想知道如何处理它以及从哪里开始.我来自Web开发背景(Python,PHP),但我也知道一些C和C++.

基本上,我想知道:

  1. 学习和追求哪种语言(我认为主要是C和C++)?
  2. 如何/在哪里学习特定于系统编程的语言?书籍,网站,博客,教程等.
  3. 还有其他好的地方我可以从基础开始吗?
  4. 有什么好的图书馆可以开始吗?
  5. 我需要什么环境设置(或大约)?假设linux必须在那里,但我有一个linux盒子,我很少使用GUI登录(总是使用SSH).GUI是否更有用,或者VI编辑器就足够了?(如果这部分问题应该发送到serverfault.com,请告诉我)

PS:只是为了澄清,系统编程我的意思是编写设备驱动程序,系统工具,编写本机应用程序,这些应用程序在Linux平台上不存在但在其他程序上,与Linux内核一起使用等.

Yan*_*min 6

如果您正在使用内核,则必须使用C.有几本书,如Essential Linux设备驱动程序,它们为您提供结构的基础知识,运行代码的位置等.

通常,许多服务器都是用C语言编写的,有时候是用C++编写的.流行的库包括Glib,libevent,boost(用于C++).

你可以从你选择的编辑器中的命令行做所有事情 - 这里没有明确的胜利,选择你喜欢的.