gcc (GCC) 4.7.2
c89
こんにちは、
私はテストスイートを見てきましたが、次のように宣言されたこの関数のようなマクロに気づきました。
#define MU_SUITE_START() char *msg = NULL
ただし、代わりにこれを行うことと実際の違いはありますか?
#define MU_SUITE_START char *msg = NULL
マクロはテキストの置換を行うだけなので、パフォーマンスの問題は発生しないと思います。
cppを使用すると、次の結果が得られるため、ここでは特別なことは何もありません。
関数のようなマクロ
char *msg = __null;
マルコ
char *msg = __null;
補足:入力パラメータで提供されない関数のようなmarcoを宣言する価値はありますか?ここでは、パラメータを渡していません。
#define PRINT_MSG() printf("This is the message\n")
入力パラメータがないのに、なぜ関数のようなマクロを気にするのですか?これは良いことではありませんか?
#define PRINT_MSG printf("This is the message\n")
提案をありがとう、