[С++ macros нуб] как вставить значения макроса
#define glue(x, y) x ## y
#define PyInitFunctionName(dll_name) glue(init_module_, dll_name)
#define MyLibName my_solaris64_lib
void PyInitFunctionName(MyLibName;
Остается понять что произошло и как этот еще один макрос поменял ситуацию
Следующий вариант тоже работает:
#define PyInitFunctionName_2(dll_name) init_module_##dll_name
#define PyInitFunctionName(dll_name) PyInitFunctionName_2(dll_name)
#define MyLibName my_solaris64_lib
void PyInitFunctionName(MyLibName;
Оставить комментарий
Ventalf
Обявляю вот такой макро#define PyInitFunctionName(dll_name) init_module_##dll_name
затем
#define MyLibName my_solaris64_lib
далее
void PyInitFunctionName(MyLibName; // поправил - добавил скобки
Проблема в том что в таком случае передается название MyLibName.
Мне нужно чтоб передавалось значение.
Требуемый результат операции
void init_module_my_solaris64_lib;
вместо
void_module_MyLibName;
Как это сделать?
Спасибо