GCCを使用すると、-Wframe-greater-thanよりも免除される関数のセットを指定できますか? (例えば、メイン。)は、この目的のためにプラグマとGCCを使用すると、関数ごとに-Wframe-greater-thanを無効にできますか?
8
A
答えて
10
GCC用品あなたを:
現在http://gcc.gnu.org/onlinedocs/gcc-4.5.2/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas
して、ファイルにそれを行うように見えるので、それは、あなたが望むものを正確に行うことはありませんファイル単位が、それは文脈認識しているかのようにgccの次のバージョン(4.6)で、それが表示されます:あなたはGCC diagnostic pragmaを使用することができます
http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas
0
。
1
これは少し古いですが、私は同じ答えを探して、それに出くわしたので、私は、私は(試行錯誤によって発見)私の解決策を投稿しようと思いました:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wframe-larger-than="
void func()
{ int x[2000] = {}; printf("%d",x[1]); }
#pragma GCC diagnostic pop
が動作しているようです。何らかの理由で、diagnostic warning
を使用しようとしましたが動作しませんでした。警告を生成するスタックサイズを変更することはできないようです。また、最後に=が必要です。たぶん次の人がこれを見つけて時間を節約します:)。これは4.6.2(ARMクロスコンパイラの場合)です。
ジョン
関連する問題
- 1. オブジェクトモジュール(gcc、ld、x86、objcopy)の静的関数を無効にすることはできますか?
- 2. JQuery - 行ごとにチェックボックスを有効/無効にする
- 3. telnetでsocketを使用しているときにECHOを無効にすることはできますか?
- 4. サブドメインごとに異なるメールサーバーを使用できますか?
- 5. Navigator.push()を使用しているときにトランジションを無効にすることはできますか?
- 6. GCC:-pedanticを使用しているときに、「列挙子リストの最後のカンマ」警告を無効にすることはできますか?
- 7. Symfony2 + FOSRestBundle:コントローラー/アクションごとにREST機能を有効/無効にしますか?
- 8. iCloudが無効のときにNSMetadataQueryを使用できますか?
- 9. PoltergeistとCapybaraのデフォルトドライバを使用するときにJavaScriptを無効にする
- 10. C++で関数ポインタを使用するときに無効な変換エラーが発生する
- 11. forkを呼び出す前にシステム関数を無効にすることはできますか?
- 12. 行ごとにコンパイラの警告を無効にする
- 13. UpdateSource()を使用するときにTwoWayバインディングでConvertBack()を無効にする
- 14. Subsonic SimpleRepositoryで複数化を無効にすることはできますか?
- 15. "and"または "boolean operator use for gcc"のサポートを無効にすることはできますか?
- 16. SQLALCHEMY_TRACK_MODIFICATIONSを無効にすることはできますか?
- 17. a:visitedを無効にすることはできますか?
- 18. コントロール:HoverButtonを無効にすることはできますか?
- 19. control-Cを無効にすることはできますか?
- 20. パラメータパターンマッチングを無効にすることはできますか?
- 21. [アプリケーションエラー]ダイアログボックスを無効にすることはできますか?
- 22. gccで関数をコンパイルしてからclangで使用できますか?
- 23. タイムスロットが使用できないときにボタンを無効にすることはできません。
- 24. Jinja2を使用すると、タグやフィルタを無効にすることはできますか?
- 25. textareaの複数行オプションを無効にすることはできますか?
- 26. Ajaxは関数ごとにx秒ごとにPHPデータを取得します
- 27. jquery関数を無効にするには、.removeClass()を使用する方法
- 28. GCC - 特定の関数でのみコンパイラフラグを有効にする
- 29. ユーザ定義のリテラルでアンダースコアが見つからないというGCCの警告を無効にすることはできますか? GCC 4.7で
- 30. SQL Serverレポートサービスの時間ごとのサブスクリプションを無効にする
これは機能ごとに機能します。ドキュメントから: "GCCは各プラグマの位置を追跡し、ソースファイル内のその時点の状態に応じて診断を発行します。したがって、行の後に現れるプラグマは、その行によって引き起こされる診断に影響しません。 –
@Carl:実際には、これらのドキュメントは現在の開発バージョン(4.6)用ですので、私が与えたリンクをチェックすると4.5には当てはまりません。 –
よろしいですか?私は、実際にそのドキュメントのバージョン管理を見ていませんでした。説明をありがとう。 –