關於C語言和C++語言的比較,自己沒有太多的編程經驗,有一個問題一直困擾我,
1.為什麼C語言和C++優勢分別在哪,感覺C++抽象能力確實比C語言強大,但為什麼
大多數操作系統都是用C語言寫的,不是說C語言不適合編寫大型程序嗎?操作系統難道
還不算大型程序嗎?(難道是為了效率,或者說C語言不適合編寫需求不穩定的大型程序
,而操作系統只要提前做好規劃,用C語言還是可以的?)
2.linux下C語言編程用的比較多,但是C語言經常用到全局函數,而C++的類一般都是對
本類的數據進行處理(而非全局函數),如何處理這個矛盾?linux下如何對底層API
進行封裝?
3.在linux下有沒有對底層API函數進行封裝的類庫(類似於windows下的MFC)?
問題有些多,請大家指導。
C語言不適合編寫大型程序
操作系統(內核)還真的算不上大型程序。操作系統和其它軟件不同,它的需求是基本恆定的,在有限的需求內需要絕對的可靠性和絕對的性能。
C++中優雅地使用全局數據的方式是使用單例模式(singleton pattern)
類似windows的mfc,在linux下進行gui編程,我們有qt gtk等等,和windows不同,linux的kernel和shell是分開的,我們有不止一種的gui。