[英]Why “pragma GCC diagnostic push” pop warning in GCC/C++?
#pragma GCC diagnostic push
it pop: warning: expected [error|warning|ignored] after â#pragma GCC diagnosticâ
為什么? 我在Linux中使用GCC。
我有一個問題,如果我不能使用pop / push,如果忽略只影響編譯的cpp,不影響其他cpp? 如果其他一些包括上限,如果影響呢?
#pragma GCC diagnostic push
和#pragma GCC diagnostic pop
在gcc 4.6中添加 。 您使用的是舊版本。
這些編譯指示通常與其他#pragma GCC diagnostic
指令一起使用,以僅針對代碼的一小部分禁止,打開或轉換為特定於錯誤的警告。 如果忽略它們,則警告級別的更改將應用於源文件的其余部分,而不是直到下一個#pragma GCC diagnostic pop
。 這可能不是問題,也可能是世界末日; 您需要了解您的代碼才能確定。
無論哪種方式,您都應該更新編譯器。 你不會用C89編譯器編譯C99; 不要使用gcc 4.4編譯包含gcc 4.6的編譯指示的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.