簡體   English   中英

為什么在GCC / C ++中使用“pragma GCC診斷推送”彈出警告?

[英]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.

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