4
A
回答
4
有沒有'C標準'的原因,爲什麼
-Wall
不能由編譯器默認啓用?
我認爲答案是沒有標準的原因。編譯器開關的行爲超出了語言標準的範圍。
除此之外,編譯器(通常來說)不需要爲未指定爲編譯錯誤的事件生成診斷,因此要求「默認」輸出這樣的診斷是無意義的。
而且要清楚的是,這些一般性聲明適用於C語言。
5
從N1570附件一報價:
1的實現可能產生在許多情況下的警告,沒有 被指定作爲該國際標準的一部分。
這意味着警告對編譯器來說是非強制性的,所以我不認爲會有任何「C標準」的原因。
0
除了上面提到的原因,該標準沒有關於警告的規範,使Wall缺省對於很多人來說更多是一個障礙,因爲存在警告,您實際上不希望打開時常,如對未使用的變量/功能等 警告如果你想「默認」,使之,你可以別名您所選擇的編譯器,以gcc作爲例如,添加以下你的.bashrc:
alias gcc="gcc -Wall"
+0
這並不令人信服。海灣合作委員會有標誌關閉警告,所以你永遠不會「卡住」。默認打開警告會好很多。 –
相關問題
- 1. C#禁止MS Fakes警告
- 2. 禁止automake的變量名稱的標準化警告
- 3. 禁止R中的C警告消息
- 4. 如何禁止StyleCop警告?
- 5. 禁止JDK1.4項目警告
- 6. 禁止-Wtautological,比較警告
- 7. 禁止導入警告?
- 8. 禁止Microsoft.Reliability警告在λ
- 9. 關於Visual C++標準庫的警告
- 10. 檢查器框架:在默認構造函數中禁止警告
- 11. gnu gcc如何禁止警告:在此聲明中忽略'typedef'[默認啓用]
- 12. C++標準默認命名空間
- 13. C++標準禁止void main()原型嗎?
- 14. 禁用覆蓋警告C++
- 15. 在C++中禁用警告
- 16. 在Delphi中使用IHTMLDocument2默認阻止cookie警告
- 17. java akka默認序列化器警告
- 18. 獲取默認GCC警告的列表
- 19. 警告:現場XXX沒有默認值
- 20. 警告:默認情況下啓用]
- 21. 的Visual Studio - 禁止的web.config警告
- 22. 在Zend Studio中禁止警告
- 23. 禁止約束和佈局警告5
- 24. SAS中禁止顯示警告語句
- 25. Jupyter:禁止重啓內核警告
- 26. 禁止在美麗的URL的警告
- 27. 如何禁止特定的MSBuild警告
- 28. 如何禁止StyleCop警告SA1403?
- 29. 如何禁止包含警告?
- 30. 通知警告禁止迅速
語言標準沒有「警告」的規範性概念。 –
根據['gcc'手冊](https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gcc/Warning-Options.html#Warning-Options),'-Wall'啓用「..」所有關於**一些**用戶認爲有疑問的構造的警告「 - (我的emph。)。 – usr2564301
你真正想要的是'pedantic'和'-std = c11'(或任何你想要的語言)。這會讓編譯器拒絕實際上不合格的東西。 –