функциональный макрос против макросов

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;

Просто примечание: стоит ли объявлять маркообразную функцию, которая нене указывать во входных параметрах? Здесь я не передаю никаких параметров, т.е.

#define PRINT_MSG() printf("This is the message\n")

Зачем беспокоиться о функционально-подобном макросе, если нет входных параметров?это лучше?

#define PRINT_MSG printf("This is the message\n")

Большое спасибо за любые предложения,

Ответы на вопрос(1)

Ваш ответ на вопрос