C陷阱与缺陷第一章提到词法分析的“贪婪法”,一时兴起就在机器上验证一下,猛然想到以前看过GCC
与clang
的一些资料,说clang
的提示会更人性化有点,所以一并试一下。感受一下两种不同的编译器。
比较一下,clang
的提示,它首先用三个~
将a++
表示出来,告诉程序员这是一个表达式(expression),然后用^
符号指出出问题的地方在第三个+
号;而提示语句是:
expression is not assignable [表达式不可赋值]
到这里,基本有点经验的程序员都知道怎么回事了,但我觉得还是应该加上如GCC那样的提示告诉程序员:表达式是一个左值。这样的提示更人性化一点。
反观GCC
的提示,仅仅只是指出出问题的地方,对于新手来说,可能很难定位到真正发生问题的地方,更加感觉迷惑。
以上仅仅为本人拙见。
网友评论