3

古いプログラムのコードを確認し、インクルードセクションの後のヘッダーに次のものがあります。

 extern FILE *yyin,  *yyout;

 TW_LOG_PROC_ERROR;
 TW_TRAN_ACC;
 TW_TVAL;

Extern 知っていますが、その下にあるものを見つけることができません。グローバル変数があると思いますが、それが本当かどうか、どこにあるのかわかりません。お知らせ下さい。

4

2 に答える 2

4

それらは、ある種のマクロまたは指定されたタイプのないオブジェクトが考慮される古い「暗黙のintルール」intである可能性があります。

K&R C および C++ の先行標準方言では、明示的な型名なしで宣言された変数は型 int であると想定されていました

ただし、大文字で書かれているという事実は、それらがマクロであることを示唆しています。

于 2013-10-03T14:40:45.797 に答える
0

プロジェクト全体で実行するctags -R .と、プロジェクト内のすべての宣言を見つけることができるはずです。生成されたファイル内のすべての宣言のファイルと行番号を簡単に見つけることができtagsます。ctags を処理して整形できるプラグインやプログラムはたくさんあります。

編集:

または単に実行します:

grep "TW_LOG_PROC_ERROR" -r .
grep "TW_TRAN_ACC" -r .
grep "TW_TVAL" -r .
于 2013-10-03T14:38:27.613 に答える