C陷阱與缺陷第一章提到詞法分析的“貪婪法”叶洞,一時(shí)興起就在機(jī)器上驗(yàn)證一下鲫凶,猛然想到以前看過(guò)GCC
與clang
的一些資料,說(shuō)clang
的提示會(huì)更人性化有點(diǎn)衩辟,所以一并試一下螟炫。感受一下兩種不同的編譯器。
![2015-11-01 14-57-03屏幕截圖.png-28.4kB](http://static.zybuluo.com/yiltoncent/2hgsjshpsplb66igpcnxr14k/2015-11-01%2014-57-03%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png)
2015-11-01 14-57-03屏幕截圖.png-28.4kB
比較一下艺晴,clang
的提示昼钻,它首先用三個(gè)~
將a++
表示出來(lái),告訴程序員這是一個(gè)表達(dá)式(expression)财饥,然后用^
符號(hào)指出出問(wèn)題的地方在第三個(gè)+
號(hào)换吧;而提示語(yǔ)句是:
expression is not assignable [表達(dá)式不可賦值]
到這里,基本有點(diǎn)經(jīng)驗(yàn)的程序員都知道怎么回事了钥星,但我覺(jué)得還是應(yīng)該加上如GCC那樣的提示告訴程序員:表達(dá)式是一個(gè)左值。這樣的提示更人性化一點(diǎn)满着。
反觀GCC
的提示谦炒,僅僅只是指出出問(wèn)題的地方贯莺,對(duì)于新手來(lái)說(shuō),可能很難定位到真正發(fā)生問(wèn)題的地方宁改,更加感覺(jué)迷惑缕探。
以上僅僅為本人拙見(jiàn)。