問題タブ [gcc-warning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gcc - この GCC 警告をエラーにするにはどうすればよいですか?
GCC から次の警告が表示されます。
警告: '...' を介して非 POD タイプ 'class Something' のオブジェクトを渡すことはできません。呼び出しは実行時に中止されます
特に中止を呼び出すため、これはかなり致命的です。なぜこれはエラーにならないのですか? エラーにしたいのですが、
- 特定の警告をエラーにするにはどうすればよいですか?
- どの警告ですか?3.8 Options to Request or Suppress Warningsによると
-Wno-invalid-offsetof
、それを非表示にするフラグのように見えますが、そうではありません。
c++ - コマンドラインで読み取り可能なgccエラーと警告出力を取得する方法はありますか?
いくつかの長いエラーの場合、gcc の出力は密集しており、行の折り返しなどが多数含まれています。特にエラーが微妙な場合、目を細めて解析するのに 10 ~ 30 秒かかることがあります。
これを開いているコードエディターウィンドウに貼り付けて、基本的な構文の強調表示を取得し、正規表現による再フォーマットを有効にしました。
より自動化された方法を発明した人はいますか?
c - 警告を抑制します:`mktemp'の使用は危険です
gccリンカーからの次の警告を抑制するにはどうすればよいですか?
警告:「mktemp」の使用は危険です。「mkstemp」を使用することをお勧めします
使うほうがいいのは知っていますmkstemp()
が、どういうわけかmktemp()
関数を使わなければなりません。
c - gcc からの誤った float/long エラー メッセージをオフにするにはどうすればよいですか
私は最近、いくつかの変数についてコードベースを float から long に変更していましたが、まだ間違っているとわかっていた領域でコンパイラによって生成されたエラー メッセージがないことを発見しました。これにより、コンパイラ フラグに -Wconversion を追加することになりました。しかし、おっと、これはいくつかの偽のエラーメッセージにつながります. 以下のスニペットでは、前述のエラーが発生します。ケースバイケースでこのメッセージを抑制したり、gcc をこれについてより賢くするように誘導するにはどうすればよいでしょうか? -Wconversion フラグは、コード ベースで何千もの警告を生成します。それらすべてを調べる必要がありますか?うーん。
編集
John Millikin が指摘したように、-Wconversion フラグは「設計どおり」に機能しています。(私はそれが型変換に関するものだと思っていましたが、それは本当に古い C スタイルのプログラムを ISO 標準の C に変換することに関するものであることがわかりました。くそー。gcc の私のバージョンの gcc 警告ドキュメント ページを読んでもわかりません。希望はありますが、いずれにせよ、私が本当に欲しいのは、次のコードで正しく警告し、誤った警告を出さない他の警告フラグを有効にすることです。
編集 2
本当の解決策は、コンパイラをアップグレードすることです。複雑な理由で会社が喜んでやろうとしていることではありません(ため息)。
linux - gcc警告を抑制します:「警告:これは前の定義の場所です」
標準のシステムコール(open、listenなど)のラッパーのセットが必要です。これらのために私は次のようにいくつかの「#define」を持っています:
しかし、ヘッダーと関連する.cファイルをコンパイルすると、次の警告が表示されます。
/jcl_wrappers.h:114:1:警告: "open"が再定義
されました/jcl_wrappers.h:113:1:警告:これは前の定義の場所です
これらの警告を抑制するにはどうすればよいですか?
c - Cで「警告: returnはキャストなしでポインタから整数になります」とはどういう意味ですか?
私は、6 ビットの数値を取得し、最初の 3 ビットを計算し、それに基づいて "r"、"w"、または "o" を返すことを目的とする単純な関数を C で作成しています。
ただし、コンパイルすると、「リターンはキャストなしでポインターから整数になります」という警告が表示されます。次に、プログラムを実行すると、関数が奇妙な文字を返していることがわかりました。
ここで何が起こっているのですか?前もって感謝します。
これが私の機能です:
c++ - 「インデックス」に関連するコンパイルエラー-それは実際には関数ですか?
コンパイルからすべての警告を削除し、次のことに遭遇しました。
警告: `char * index(const char *、int)'のアドレスは常に'true'になります
次のコード行の場合:
DEBUG_MSGは、プリプロセッサがC++スタイルのストリーム操作を行うステートメントに置き換えるロギングマクロの1つです。
indexは宣言されていないように見えるので、次のようになっていると思います。
インデックスは、標準ライブラリの「char * index(const char *、int)」関数の関数*になりますが、インデックス関数は何をしますか?Googleは、C ++に関連する本のインデックスを取得するため、役に立たないようです。
この警告の解釈に欠けているものはありますか?
c++ - 互換性のないオプションのgcc警告を無効にする
コンパイルされている言語に対してパラメータが無効であるというgcc警告を無効にするオプションがあるかどうか知りたいです。
元:
私たちのビルドシステムは、ビルド全体でグローバルに決定した警告を渡します。C / C ++コードがあり、実際の警告を見つけようとすると、警告が非常に煩わしくなります。
助言がありますか?
c - 警告: 組み込み関数 'xyz' の暗黙の宣言に互換性がありません
いくつかのバイナリをコンパイルすると、これらの警告が多数表示されます。
これを解決するために、追加しました
次のフラグを使用してコンパイルすることに加えて、この警告に関連付けられている C ファイルの先頭に:
GCC 4.1.2 を使用しています。
これらの警告を解決するにはどうすればよいですか?
c++ - GCCで「条件式の列挙型および非列挙型」警告を抑制する方法
私はこの警告をサードパーティのライブラリ (デバッグしたくない) から受け取り続けているので、この特定の警告を抑制する方法を本当に感謝しています。グーグルは私を失望させたので、ここにいます。