精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

關于C語言,我喜歡和討厭的十件事

開發 后端 開發工具
最近有個家伙抱怨道“為什么我還要再用C?”-雖然我不同意他的說法,但至少他隨口提到如果你“在一臺拇指大小的電腦”上編程,或者為一門語言寫引導程序,那么可以用C語言。要我說,寫設備驅動,或者特定平臺的內核,不管怎么說都可以使用C。

前言:最近有個家伙抱怨道“為什么我還要再用C?”-雖然我不同意他的說法,但至少他隨口提到如果你“在一臺拇指大小的電腦”上編程,或者為一門語言寫引導程序,那么可以用C語言。要我說,寫設備驅動,或者特定平臺的內核,不管怎么說都可以使用C。

幾年之前,我用C語言寫下了我的第一個網絡程序,但我并不推薦這么做。現在,我只用P打頭的,尤其是P-y打頭的語言寫網絡程序(譯者注:繞什么圈子,不就是Python嘛…)。但在當時,我剛從DOS和TSRs的世界中出來,在那兒用上10KB的RAM我都會覺得大得驚人。

現在我是一名Web開發者,但是僅限于晚上。白天我為嵌入式微處理器編寫固件,因此,C依舊是我所選擇的語言。我所說的微處理器是那種嵌入烤面包機,或者其他類似設備中的處理器,只有大概64KB的代碼空間以及2KB的RAM。因此,可供選擇的語言基本上就只有匯編和C了。(也可以是Forth,不過那是另外的故事。)

然后,我漸漸發現越是多用C,就越不覺得它討厭了。因此我就想著要給這個世界最常用的系統級程序語言寫一些頌詞。

以下分別是關于C語言我喜歡五件事和討厭的五件事。請隨意在底下的評論欄里加上你們自己喜歡或討厭的事情。

1.K&R(喜歡)

Kernighan & Ritchie 寫的C程序設計語言是關于C語言最好的書,而且我估計它也是關于編程的最好的書之一。簡潔明了,都是有用并且重要的例子。這是一本非常好的書,同時也是一個非常好的參考。

甚至就連序言都非常好。在此引用一句,“C不是一門龐大的語言,因此不應該用一本厚重的書來詮釋。”如果所有的編程教程都像這本書一樣把長度限制到270頁,它們會好很多。K&R的簡潔明了、點到為止,很可能是C語言的成功所不可或缺的。

另一本給我喜愛的類似的編程教材是Leo Brodie所著的《Thinking Forth》。當然,肯定還有其他非常好的書,像是SICP之類的,只是我還沒有讀過罷了。

2.它十分簡明(喜歡)

事實上,C語言作為一門簡明語言是一個實實在在的福利。想要學習C,你只需了解它的類型,熟悉流程控制,處理好指針,然后你基本上就已經掌握它了。剩下的就僅僅是函數了。事實上,K&R利用這個低級的命令式語言,僅花費11行就實現了qsort(),不得不說這是對C語言簡明性有力的證明。

3.IOCCC(喜歡)

你或許會覺得我瘋了,不過如果你足夠上進,International Obfuscated C Code Contest可能那兒是關于計算機科學最好的老師之一。算我開的一個小玩笑,不過我的確認為眾多黑客都在不停挑戰,并且創造了很多值得一談的功績。

其中讓我確實學到很多的就是OTCC,Fabrice Bellard所寫的“混淆的小型C編譯器”。從中我學到了關于編譯器設計的知識,主要是C語言編譯器不必是340萬行代碼的龐然大物。同時,我也從Let’s Build a Compiler中獲益,并靜下來寫了一個迷你的由C到Forth的編譯器。

4.變量的定義與使用形式相似(喜歡)

這一點對記住如何定義十分復雜的事物非常有用,舉個例子,一個指向包含十個整形的數組的指針應該是int *api[10]還是int (*pai)[10]呢?像你使用它的方式一樣定義它即可,只需要記住[]操作符的優先級高于*(很自然就可以記住),然后你就明白那個括號是需要的了。(譯者注:前者是指針數組,包含十個指向整形的指針。)

5.它編譯出的“hello, world”體積很小(喜歡)

尤其是對嵌入式編程,這一點簡直棒極了。C語言之上沒有一個體積龐大的運行時,在很多嵌入式處理器上,一個什么都不做的程序一般只會編譯出3到4個byte。一個完整的“hello, world”程序,甚至是在Windows XP下,都只會編譯出1.5KB大小(使用Tiny C Compiler,它非常合適與做小型可運行程序)。

我認為,如果像Python一樣的其他語言能夠在這一點上趕上C,甚至是C的一部分,他們在嵌入式的世界中就會更加出彩。

#p#

6. 全局變量默認是外部的(討厭)

你會說“用全局變量可不是個好習慣!”。但在嵌入式系統中不同。舉個例子,你有一個名為timer.c的文件,其中有個全局變量int counter,在另一個文件state_machine.c中,有另一個counter。如果你碰巧忘記了在它們之前加上’static’,它們就是同一個變量,你根本察覺不到,沒有Warning,沒有任何提示……

這種行為看起來十分奇怪,尤其是當關鍵字extern就在手邊的時候。不過當你熟悉static的兩種不同的意義后,就可以輕易避免這種情況了。不過這依然十分令人討厭。

7. static的兩種不同的意義(討厭)

有人能解釋一下為什么static在函數體中和函數體外有著兩種完全不同的意義嗎?在函數體中,他表示“靜態”——“在函數調用過程中保持這個變量唯一”。但是在函數體外,它的意義完全改變,成了“該變量為該文件私有的”。為什么后者不用private或者intern呢?

8. & 優先級低于 ==(討厭)

在嵌入式編程中,我們總是喜歡用if ((x&MASK) == 0)這樣的語句。但你可能常忘記寫里面那對括號,因為感覺上,&的優先級應該比==高。但是事實并非如此,因此必須使用這對多出來的括號。

不過,這個情況有個不錯的歷史原因。C語言誕生自B語言,而在B語言中只有&而沒有&&運算符。當Ritchie引入&&運算符時,他們希望原有的B語言端的代碼能夠正常運行,因此使&的優先級低于==。

9. 宏的功能并沒有那么強(討厭)

雖然遞歸的#include是非常棒的點子,但是,要怎么做才能不訴諸一些費腦子的方法,輕易地做預處理循環呢?同樣的,有些我常遇到的情況,比如怎么才能給程序int和string兩種格式的版本號,而同時只需要修改一個變量呢?

  1. #define VERSION_INT 209  
  2. #define VERSION_STR "2.09" 

用上面的代碼,你更新版本號的時候總是需要修改兩個地方。而且,特殊的###并不能幫上什么忙。我找到的唯一的解決則涉及了一些運行時修改。

10. 它不支持反射(討厭)

好吧,可能這只是重申了一下第9點——如果宏系統再稍微強大一點,就不需要反射機制了。說不定我還會濫用它。不過我真正想說的是,用C語言,你不能寫出生成代碼的代碼。

為什么不用C語言本身來寫預處理器呢?這會給循環展開,更強大的宏機制,甚至更多IOCCC的怪點子提供無窮無盡的可能性。:-)

我認為,C語言之父能夠坦然承認C的不足之處是非常可貴的。就像Dennis Ritchie說的一樣:

“C語言行為古怪,瑕疵遍布,但卻是一個巨大的成功。”

更多關于這點的信息,去讀讀他的論文 The Development of the C language 吧 —— 那真是一篇值得一讀的文章。

總而言之,在自己的優勢上,C卓爾不群。

原文鏈接: brush   翻譯: 伯樂在線 - Hacker_YHJ

譯文鏈接: http://blog.jobbole.com/51395/

責任編輯:林師授 來源: 伯樂在線
相關推薦

2025-02-10 08:59:54

2020-08-10 15:30:24

XDR網絡安全網絡威脅

2010-07-28 16:12:41

2017-05-02 11:36:00

Java

2015-10-10 09:29:32

GitGithub

2009-05-26 09:48:34

2015-03-04 14:54:47

DockerIT管理基礎設施

2014-08-12 09:22:05

程序員

2023-03-23 15:14:43

2024-10-14 12:42:06

2009-04-24 08:17:15

MySpaceCEO社交網站

2022-11-28 14:43:15

2023-06-30 13:35:12

2020-05-08 15:30:42

PostgreSQL數據庫數據

2016-12-26 11:34:23

2010-02-25 11:02:29

JavaScript

2022-10-28 08:37:03

UbuntuLinux

2014-11-10 10:09:47

開源文檔程序猿

2010-09-27 09:24:09

云計算

2015-09-08 11:47:00

微軟容器
點贊
收藏

51CTO技術棧公眾號

成人av二区| 在线观看福利电影| 国产精品一区二区你懂的| 久久九九全国免费精品观看| 丰满少妇一区二区三区专区| 大黄网站在线观看| 久久精品人人做人人综合| 国产欧美一区二区三区在线| 美国黄色小视频| 久久爱www成人| 91麻豆精品国产91久久久久久| 国产 日韩 欧美在线| 国产人成在线观看| 国产成人av福利| 国产成人a亚洲精品| 男人操女人的视频网站| 一区二区美女| 精品国产a毛片| 伊人色在线观看| 日本在线啊啊| 艳妇臀荡乳欲伦亚洲一区| 欧美精品人人做人人爱视频| 国产99999| 美女性感视频久久| 668精品在线视频| a在线视频播放观看免费观看| 西瓜成人精品人成网站| 欧美一区二区三区白人| 午夜在线观看av| 亚洲优女在线| 午夜av区久久| 国产精品久久久久7777| 免费黄色电影在线观看| 国产日韩影视精品| 欧美乱偷一区二区三区在线| 欧美性猛交 xxxx| 国产乱妇无码大片在线观看| 国产免费成人av| 日韩 国产 欧美| 亚洲欧美日本日韩| 亚洲18私人小影院| 国产一级特黄视频| 欧美福利影院| 久久久91精品| 国产一区在线观看免费| 精品精品99| 亚洲日韩欧美视频| 久久久精品人妻无码专区| 91欧美极品| 精精国产xxxx视频在线野外| 国产视频一区三区| 欧美激情一区二区三区久久久 | 国产一区二区三区视频在线| 色94色欧美sute亚洲线路一久| www.av片| а√天堂8资源在线| 亚洲第一av色| 黄页免费在线观看视频| 第一中文字幕在线| 香港成人在线视频| 亚洲熟妇无码一区二区三区| heyzo在线欧美播放| 亚洲v日本v欧美v久久精品| 精品人妻人人做人人爽| av在线网页| 欧美日韩亚洲系列| 久久美女福利视频| 日韩成人影音| 欧美日韩高清在线| 中文字幕一区二区在线观看视频| 日本成人在线网站| 日韩一区二区三| 完美搭档在线观看| 性人久久久久| 在线播放国产一区中文字幕剧情欧美 | 国产一级淫片a视频免费观看| 午夜一区在线| 国产精品久久久久久久久久久久| 亚洲一区二区人妻| 国产精品白丝jk白祙喷水网站| av资源站久久亚洲| 你懂的在线观看视频网站| 欧美国产综合一区二区| 黑人巨大国产9丨视频| av漫画网站在线观看| 日本韩国欧美三级| 午夜激情视频网| 麻豆一区二区| 丝袜一区二区三区| 国产亚洲精品女人久久久久久| 国产亚洲永久域名| 国产在线精品一区免费香蕉| 亚洲精品无码久久久| 26uuu亚洲婷婷狠狠天堂| 亚洲在线色站| 久草在线资源福利站| 在线看日本不卡| 国产成人av免费观看| 日韩影视高清在线观看| 色偷偷偷综合中文字幕;dd| 草视频在线观看| 久久三级视频| 亚洲一区二区中文| 免费在线超碰| 亚洲午夜精品17c| 国产免费又粗又猛又爽| 国产精品毛片视频| 日日骚久久av| 韩国av中文字幕| 国产老肥熟一区二区三区| 日本日本精品二区免费| av网站大全在线| 在线观看视频一区| 无码国产69精品久久久久网站| 日本午夜一区| 亚洲欧美激情小说另类| 欧美 日韩 国产在线观看| 国产一区精品福利| 日韩精品免费在线观看| 欧美一区二区三区爽爽爽| 噜噜噜久久亚洲精品国产品小说| 51国偷自产一区二区三区| 特级西西444www大精品视频| 国产裸体无遮挡| 久久香蕉国产线看观看99| 热久久最新地址| 国产一区二区主播在线| 日韩av一区在线观看| 久久国产美女视频| 老司机精品视频导航| 久久久久高清| av蜜臀在线| 日韩女优视频免费观看| jizzjizzjizz国产| 丝袜a∨在线一区二区三区不卡| 国产精品亚洲不卡a| 黄色网页在线播放| 欧美日韩美少妇| 国产第一页精品| 日韩电影在线一区二区| 蜜桃导航-精品导航| 九色porny自拍视频在线播放| 日韩免费视频一区二区| 卡通动漫亚洲综合| 久88久久88久久久| 老司机av福利| 国产成年精品| 成年无码av片在线| 99产精品成人啪免费网站| 国产精品久久久久久久蜜臀| 中文字幕在线观看第三页| 欧美军人男男激情gay| 国产成人福利视频| 国产玉足榨精视频在线观看| 色悠悠久久综合| 瑟瑟视频在线观看| 三级欧美韩日大片在线看| 欧美日本亚洲| 成人涩涩视频| 久久久国产一区| 亚洲va久久久噜噜噜无码久久| 亚洲天堂av老司机| 久久久国产精品久久久| 很黄很黄激情成人| 激情欧美一区二区三区中文字幕| 91超碰在线| 亚洲色图第三页| 中国女人一级一次看片| 中文字幕亚洲区| 黄色三级视频在线播放| 欧美三级网页| 精品综合在线| 亚洲精品粉嫩美女一区| 久久九九免费视频| 人妻夜夜爽天天爽| 色哟哟亚洲精品| 久草福利资源在线| 国产suv精品一区二区6| 欧美日本视频在线观看| 精品国产一区二区三区久久久蜜臀| 国产区精品在线观看| 亚洲wwwww| 亚洲欧美国产精品专区久久| 91亚洲精品国偷拍自产在线观看 | 狠狠久久亚洲欧美| 麻豆传媒网站在线观看| 免费日韩一区二区三区| 日韩精品在线免费播放| 六月丁香激情综合| 亚洲欧洲另类国产综合| 动漫美女无遮挡免费| 亚洲欧美久久| 400部精品国偷自产在线观看| 97久久亚洲| 国产精品va在线播放| 成人区精品一区二区不卡| 日韩高清av一区二区三区| 中文无码av一区二区三区| 一区二区三区小说| 成人不卡免费视频| 激情欧美日韩| 手机成人在线| 久久悠悠精品综合网| 国产精品日韩欧美综合| 99热99re6国产在线播放| 在线观看视频亚洲| 日韩一区二区三区在线观看视频| 欧美日韩电影在线| 在线观看国产亚洲| 亚洲欧美国产高清| 亚洲女优在线观看| 波多野洁衣一区| 亚洲国产午夜精品| 日韩成人免费在线| 黄色大片在线免费看| 成人综合久久| 日产精品高清视频免费| 99re8这里有精品热视频免费| 国产精品亚洲视频在线观看| 樱花草涩涩www在线播放| 欧美疯狂xxxx大交乱88av| bbbbbbbbbbb在线视频| 亚洲第一页自拍| av老司机久久| 欧美精品日韩一本| wwwwww在线观看| 欧美视频专区一二在线观看| 久久免费黄色网址| 亚洲精品高清在线| 乱老熟女一区二区三区| 国产性做久久久久久| 国产夫妻性爱视频| 99久久伊人精品| 91精品啪在线观看国产| 国产成人综合自拍| 日本亚洲一区二区三区| 国内精品伊人久久久久影院对白| 深夜黄色小视频| 日韩精品亚洲专区| 狠狠操精品视频| 日欧美一区二区| 日韩欧美在线免费观看视频| 午夜在线精品| 欧美一级黄色影院| 日韩在线播放一区二区| 国产成人无码av在线播放dvd| 国产精品一二| 99久久久无码国产精品6| 亚洲综合99| 久久精品99国产| 日韩va欧美va亚洲va久久| 毛葺葺老太做受视频| 免费在线观看成人| 欧美一级视频在线| 国产精品资源站在线| 91精品国产高清91久久久久久 | 久久综合九色| 爱情岛论坛成人| 国产在线看一区| 久久久久久国产精品日本| 国产成人精品一区二区三区四区| 亚洲av无码成人精品区| 成人手机电影网| 黄色免费网址大全| 日韩av在线免费观看不卡| 亚洲综合在线网站| 久久电影网站中文字幕| 日本高清免费观看| 成人毛片在线观看| 波多野结衣办公室33分钟| 久久精品一区二区三区不卡牛牛| 欧美日韩国产黄色| 99精品国产99久久久久久白柏| a级一a一级在线观看| 91麻豆成人久久精品二区三区| 免费在线观看你懂的| 中文字幕乱码一区二区免费| 久久精品亚洲a| 亚洲国产日日夜夜| 黄色片中文字幕| 欧美老年两性高潮| 午夜精品久久久久久久爽| 亚洲精品美女久久| 日本韩国在线视频爽| 欧美精品第一页在线播放| 欧美亚洲韩国| 91手机在线播放| 国产成人精品三级高清久久91| 一区二区三区在线观看www| 欧美fxxxxxx另类| 哪个网站能看毛片| 精品一区二区三区的国产在线播放| 影音先锋资源av| 欧美国产精品中文字幕| 久一区二区三区| 欧美日韩你懂的| 午夜国产在线视频| 日韩视频免费大全中文字幕| а√在线中文在线新版| 成人精品一区二区三区| 久久porn| 国产911在线观看| 视频一区二区三区中文字幕| 中国男女全黄大片| 国产精品色婷婷| 日本天堂网在线| 日韩女优视频免费观看| av在线日韩国产精品| 国语自产精品视频在线看一大j8 | 884aa四虎影成人精品一区| 色香蕉在线视频| 久久久国产一区二区三区| 成人亚洲欧美| 99在线观看| 久久中文字幕av| 国产三区在线视频| 99久久综合狠狠综合久久| www.超碰在线观看| 欧美日韩国产片| 二人午夜免费观看在线视频| 2020国产精品视频| 成人搞黄视频| 精品人妻人人做人人爽| 极品少妇一区二区| www.99热| 色一区在线观看| 午夜国产在线观看| 国内精品模特av私拍在线观看| 美女久久精品| 国产人妻互换一区二区| 美女视频一区二区| 国产又黄又粗视频| 日韩欧美在线视频观看| 四虎精品成人影院观看地址| 亚洲男人天堂九九视频| 欧美理论电影| 成人免费观看网站| 欧美大片专区| 香蕉网在线视频| 亚洲女人的天堂| 国产模特av私拍大尺度 | 深夜国产在线播放| 91欧美精品午夜性色福利在线| 久久国产中文字幕| 中文字幕 91| 国产精品久久三区| 中文在线资源天堂| 中文字幕一区二区精品| 91精品美女| 久久免费看毛片| 国产一区不卡在线| 欧美三级日本三级| 欧美成人vr18sexvr| 男女视频在线| 精品一区二区国产| 美女精品在线观看| 国产又黄又粗的视频| 欧美天堂亚洲电影院在线播放| 91精彩视频在线播放| 国产免费一区二区三区在线能观看 | 日本成人在线网站| 老司机av福利| 丰满亚洲少妇av| 在线观看亚洲欧美| 亚洲人成网站色ww在线| 69堂精品视频在线播放| 中文字幕av导航| 福利91精品一区二区三区| 青青草av在线播放| 亚洲深夜福利视频| 不卡的国产精品| 久久久久久久久久久99| 久久久蜜臀国产一区二区| 中文字幕人妻一区二区三区视频| 久久成年人视频| 久久大胆人体视频| 成人中文字幕av| 玉米视频成人免费看| 手机看片福利在线| 国产精品免费视频久久久| 最新精品国产| 添女人荫蒂视频| 欧美高清dvd| 精精国产xxxx视频在线野外 | 国产ts丝袜人妖系列视频| 日本韩国一区二区三区| 欧美性天天影视| 精品日韩电影| 精品亚洲成a人| 6080午夜伦理| 美女啪啪无遮挡免费久久网站| 农村少妇一区二区三区四区五区 | 国产精品又粗又长| 国产欧美一区二区精品忘忧草| 精品人妻aV中文字幕乱码色欲| 日韩美女福利视频| 午夜性色一区二区三区免费视频| 波多野结衣av在线免费观看| 欧美一级高清片在线观看| 蜜臀国产一区|