5

このオプションを使用すると、前処理後にファイルを受け取ります。次のような多くの行があります。

# 91 "/usr/include/stdint.h" 3 4

数字の意味は?#91最初はファイルが含まれる行数かと思ったのですが、そうではありません。そして、3 4私にはまったくわかりません。

4

3 に答える 3

8

公式ドキュメントによると、行の形式は次のとおりです。

# linenum filename flags

linenum、次の行がfilenameその行番号で開始されたことを指定します。次に、4 つのフラグがあります。

  • 1- 新しいファイルの開始
  • 2- ファイルに戻る
  • 3- システム ヘッダー ファイル
  • 4・包まれているものとして扱うextern "C"

それでは、ラインマーカーを解釈しましょう:

# 91 "/usr/include/stdint.h" 3 4

次の行は、 の 91 行目に由来し/usr/include/stdint.hます。これはシステム ヘッダー ファイルであり、extern "C".

于 2013-03-28T10:49:51.810 に答える
5
于 2013-03-28T10:49:54.433 に答える
1

フラグ (スペース区切り) があり、意味は次のとおりです。

1 - Start of a new file
2 - Returning to previous file
3 - Following text comes from a system header file (#include <> vs #include "")
4 - Following text should be treated as being wrapped in an implicit extern "C" block.
于 2013-03-28T10:49:22.263 に答える