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