|
這兩天坐地鐵之余,翻看了《C陷阱與缺陷》這本書(shū),這本書(shū)的作者是個(gè)大神,他和他夫人合著的另一本書(shū)《C++沉思錄》都是C/C++書(shū)籍中的經(jīng)典之作。這兩本書(shū)都是出版于這兩種語(yǔ)言的標(biāo)準(zhǔn)化之前,《C陷阱與缺陷》出版于1989年,C的第一版標(biāo)準(zhǔn)是C90,《C++沉思錄》出版于1997年,C++的第一版標(biāo)準(zhǔn)是C++98。雖然看上去有些古老,但是卻值得一看,有些經(jīng)典的東西不過(guò)時(shí)。% \6 u' f) s8 W7 L" t& b" p. i
《C陷阱與缺陷》這本書(shū)并沒(méi)有其名字那么可怕,因?yàn)楸緯?shū)寫(xiě)作之時(shí)C標(biāo)準(zhǔn)還是沒(méi)有敲定,因此編譯器實(shí)現(xiàn)的一些的差異可能會(huì)導(dǎo)致可移植性問(wèn)題或者怪異的行為。如今來(lái)看,標(biāo)準(zhǔn)C經(jīng)過(guò)將近30年的考驗(yàn),早已成熟穩(wěn)重。雖然C90之后又發(fā)布了C99,C11,C18等版本,但是基本變化不大,新加的功能也是可有可無(wú),尤其對(duì)于嵌入式開(kāi)發(fā)來(lái)說(shuō)。因此目前C語(yǔ)言是一個(gè)相當(dāng)穩(wěn)定的語(yǔ)言,編譯器之間的差異非常小,可移植性很高,所以書(shū)中提到的一些問(wèn)題自然而然就不存在了。另外,如果在編寫(xiě)C代碼時(shí)保持良好的風(fēng)格習(xí)慣,那么就可以避免絕大多數(shù)的常見(jiàn)問(wèn)題。
! P/ i1 a- B% _. _$ z |
|