我就喜欢多多的warning选项…
a.c: In function ‘main’:
a.c:10:29: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression as the destination; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
memset(input, '\0', sizeof(input));
^
a.c:11:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%s", input);
^~~~~~~~~~~~~~~~~~
前言编译器真是一个让人又爱又恨的东西呢… 但如果把编译器用得恰到好处的话,它对coding的益处将是巨大的。
充足而不多余的 warning 信息能够消除大部分 bug 产生的可能性、帮助 debug 以及帮助培养更好的编程习惯。
所以大家千万不要无视 warning(更不要使用 -w 指令)当然,学会从众多 warning 中找到真正有价值的、蕴含潜在风险的 warning 也不是一件易事。慢慢来吧,先了解有哪些 warning 指令可以使用,然后在实践 coding 中再慢慢摸索和领悟,最终一定能成为 de-warning 高手的!
正文
有幸在校赛前夕了解到了这些 gcc/g++ 关于 war