C/C での行番号の取得
デバッグ プロセスでは、多くの場合、問題が発生したソース行を正確に特定する必要があります。 C/C では、効率的なデバッグのために行番号を決定することが重要です。
標準ソリューション: プリプロセッサ マクロ
手動入力なしで行番号を動的に取得するために、C/C はプリプロセッサ マクロ LINE と __FILE__。これらのマクロは事前定義されており、前処理中にコンパイラによって認識されます。
__LINE__: 現在の行番号を整数定数として保存します。- __FILE__: 現在のファイル名が含まれます。
-
コード例
これらのマクロを使用すると、コードを変更して行番号とファイル名を動的に含めることができます。
if (!Logical) {
printf("Not logical value at line number %d in file %s\n", __LINE__, __FILE__);
}
ログイン後にコピー
この変更されたコードは行番号を出力します。
追加マクロ
C/C は、デバッグに役立つ追加のプリプロセッサ変数も提供します。
__func__: Holds現在実行中の関数名 (C99 でサポートされていますが、すべての C コンパイラではサポートされていません)。- __DATE__: 「MMM dd yyyy」形式でコンパイル日を表します。
- __TIME__: コンパイル時間を提供します。 "hh:mm:ss" 形式。
-
これらのマクロをデバッグ出力に含めると、トラブルシューティングに利用できる情報が強化されます。これらの手法を実装すると、C/C デバッグ作業の効率が大幅に向上します。
以上がC/C デバッグ中に行番号を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。