[解決済み] C言語のGCCフラグで便利なものは何ですか?
2022-04-23 05:16:48
質問
ビヨンドセッティング
-Wall
と設定します。
-std=XXX
また、C言語で使用するために、他に本当に役に立つがあまり知られていないコンパイラ・フラグは何でしょうか?
特に、追加の警告や、偶発的な型の不一致を絶対に少なくするために、場合によっては警告をエラーに変えてしまうことに興味があります。
どのように解決するのですか?
いくつかの
-f
のコード生成オプションは興味深い。
-
-fverbose-asm
でコンパイルしている場合に便利です。-S
アセンブリの出力を調べるために、いくつかの有益なコメントが追加されます。 -
-finstrument-functions
関数の入口と出口で、ユーザが提供するプロファイリング関数を呼び出すコードを追加しました。 -
--coverage
でフォーマット可能なカバレッジデータを生成するために、 プログラム内のブランチやコールを計測し、カバレッジノートファイルを作成します。gcov
を使用して、テストカバレッジを分析することができます。 -
-fsanitize={address,thread,undefined}
AddressSanitizer、ThreadSanitizer、UndefinedBehaviorSanitizerのコードサニタイザーをそれぞれ有効にします。 これらは、実行時に様々な種類のエラーをチェックするためにプログラムをインストルメントする。
以前、この回答では
-ftrapv
に取って代わられました。
-fsanitize=signed-integer-overflow
で有効なサニタイザーの一つである。
-fsanitize=undefined
.
関連
-
[C] Error [Error] 代入の左オペランドとして lvalue が必要です。
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] C++でextern "C "を使用した場合の効果は?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] ++iとi++の違いは何ですか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み] while ( !feof (file) ) 」は、なぜいつも間違っているのですか?
-
[解決済み] なぜalloca()の使用はグッドプラクティスとみなされないのでしょうか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】ストリクト・エイリアシング・ルールとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
警告: 'struct XXX' はパラメータリストの内部で宣言されています。
-
[解決済み] mallocで文字列を確保する
-
[解決済み] Linux Socket write() によるBad File Descriptor C
-
[解決済み] C言語のコードで「:-!」とは何ですか?
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] mallocとcallocの違い?
-
[解決済み] なぜsizeof(x++)はxをインクリメントしないのですか?
-
[解決済み] C言語でファイルが存在するかどうかを確認する最も良い方法は何ですか?
-
[解決済み] ストラクチャーとユニオンの違い