簡體   English   中英

用於禁用C ++“功能”的編譯器選項

[英]Compiler options to disable C++ “features”

是否可以通過編譯器(例如,g ++,clang等)標志或定義將禁用C ++的某些“功能”作為質量控制的手段?

我想在C ++中禁用多重繼承和許多其他東西(我認為)弊大於利。

一旦您選擇C ++作為您的語言,您就可以使用C ++作為您的語言。 由於某些配置標志,編譯器無法合法地開始拒絕合法的C ++程序。

因此,一個顯而易見的選擇是不使用C ++,而是選擇一種語言來提供您感興趣的功能和安全注意事項。

如果您確實選擇繼續使用C ++,那么請理解該語言可以讓您自己動手。 這是設計的

您可以做的是進行設計審查,代碼審查,並利用靜態代碼檢查器和編譯器警告來捕獲各個開發階段的各種問題。

您可以自定義GCC,例如使用MELT ,以添加額外的編碼規則驗證。 然而,這不是微不足道的(可能是幾個月的工作,即使對我來說,也是MELT的主要作者)。 GCC的這種假設擴展會發出一些你想要的警告。

所以你傳遞的旗幟可能會以-fplugin=melt開頭; 但還需要一些額外的工作(在MELT中實現所需的GCC擴展)。

PS。 如果你足夠認真,能夠圍繞這個想法投入(或購買)數月的工作,請與我聯系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM