1

私が書いているコードでは、次の方法でヘッダーファイルに変数を定義するように言われています。

#define CLR_BLACK 0x0000

これが私が与えられた唯一の例であるため、#defineコマンドを使用してヘッダーファイルで定義されたすべての変数を大文字にする必要があるかどうか疑問に思いました。たとえば、次のようになりますか?

#define videoBuffer (u16*)0x6000000
4

3 に答える 3

6

いいえ。英数字とアンダースコアの任意の組み合わせを使用できます。数字から始めないでください。

ただし、のような変数名videoBufferは、通常の変数(構文の色付けなし)と区別するのが困難です。kそのため、ほとんどの人は、プリプロセッサマクロにすべて大文字を使用するか、次のように小文字で開始します。kMyPreprocessorMacro

編集:ちなみに、これらは「グローバル変数」ではありません(タグ付けしたとおり)。それらはプリプロセッサマクロです。基本的に、コンパイル時に実行される自動検索および置換メカニズム。

于 2012-11-03T01:21:47.110 に答える
0

いいえ。

#defineプリプロセッサマクロです。それは、その後の最初の文字列のすべての出現を、文字列の後に続くものに置き換えます。最初の文字列は大文字である必要はありません。

于 2012-11-03T01:26:21.540 に答える
0

いいえ。ただし、これは一般的で便利な規則なので、コードを読んでいると、マクロとは何か、そうでないものは何かがわかります。インクルードファイルについてはC++#ifndefを参照してください。ヘッダーファイルにすべて大文字が使用されているのはなぜですか?

于 2012-11-03T01:48:04.090 に答える