Создание чего-то и идентификатора C, и строки?

Скажем, вы хотите создать соответствующий список идентификаторов и строк

enum
{
NAME_ONE,
NAME_TWO,
NAME_THREE
};

myFunction(NAME_ONE, "NAME_ONE");
myFunction(NAME_TWO, "NAME_TWO");
myFunction(NAME_THREE, "NAME_THREE");

..без повторения без автоматической генерации кода с использованием макросов C / C ++

Initial guess:

Вы можете добавить файл #include, содержащий

myDefine(NAME_ONE)
myDefine(NAME_TWO)
myDefine(NAME_THREE)

Тогда используйте это дважды как:

#define myDefine(a) a,
enum {
#include "definitions"
}
#undef myDefine

#define myDefine(a) myFunc(a, "a");
#include "definitions"
#undef myDefine

но #define не позволяет вам помещать параметры в строку?

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

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