学习Unix/Linux编程要学些什么
最近利用空余時間看了一下《Unix/Linux編程實踐教程》,原書名為:Understanding Unix/Linux Programming: A Guide to Theory and Practice。感覺這本書寫的還是不錯的,講的Unix/Linux系統編程,主要是通過講解Unix系統上的命令程序是如何實現的來分析了Unix系統的原理和系統編程。比如講解了who,cp,ls,pwd等命令用Unix C語言應該怎么實現。通過這種講解方式,不僅學會了Unix的系統編程,而且還弄懂了Unix操作系統的一些原理性的東西。感覺寫的非常不錯。
那么,Unix/Linux下的系統編程要學哪些東西呢?通過本書,感覺主要學習一下內容:
1。Unix/Linux 下基本的C語言編程,包括基本編輯工具的使用,vim,Emacs等任意一種,gcc,gdb等編譯調試工具的使用,以及Unix系統下的基本命令的使用以及C語言基本語法。也就是要能夠在Unix系統下能使用開發工具寫出最基本的c語言程序。
2。文件的讀寫(read,write,close以及文件描述符和文件屬性的理解),目錄的操作,以及對應于這些系統調用的c庫函數。
3。設備的操控(在Unix中,設備是作為文件來操作的,提供了與文件一致的操作接口)。I/O重定向。
4。信號機制(signal)。
5。進程的創建,執行(fork,exec,exit,wait,pipe等),進程之間的通信(IPC:文件/命名管道/共享內存/Socket/信號量)
6。線程的使用(pthread_create, pthread_join, pthread_mutex_lock, pthread_mutex_unlock, pthread_cond_wait, pthread_cond_signal)
7。Socket網絡編程。(socket, bind, listen, accept, sendto, recvfrom),理解網絡編程的模型。(同步與異步I/O)
對于這些知識,不僅僅是學會這些系統或者函數調用,跟重要的是理解其編程模型。然后就是結合實際需求,利用這些基本知識進行開發了。很多時候,解決實際問題的方法比這些東西更重要,但是,這些基本知識是你開發的必備知識。
最后,推薦想學習Unix或者Linux編程的一定要看看這本書。另外,如果要做應用開發的話,可以再學習一下GUI開發(GTK++或者Qt)。
轉載于:https://www.cnblogs.com/gaojing/archive/2010/06/11/1756581.html
總結
以上是生活随笔為你收集整理的学习Unix/Linux编程要学些什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ajax Tutorials
- 下一篇: 《Microsoft Sql serve