在閱讀linux2.6 版本內核的虛擬文件系統和驅動子系統的時候,我發現內核純用c語言編寫其實也是有一點不方便,特別是內核中大量存在了對象的概念,比如說文件對象,描述起來使用對象描述,但是對象在c語言中的構建遠遠比在c++中構建要復雜,而且調用對象的方法也很復雜,比如在結構體中封裝了函數指針,但是在調用對象函數的時候卻需要將自身傳遞給對象函數,就等於繞了一個大圈,太不美麗了。還有就是usb驅動子系統,鼠標子系統里面usb結構體里面還封裝了usb對象結構體,這里就是體現了面向對象的繼承。編寫起來不方便,但是在內核里面跑起來還是很香的。