3
매크로 확장 내에서 매크로 NAME을 문자열로 사용하고 싶습니다.매크로 NAME 확장 문자열 C/C++
예 :
#define DEBUG_TEST(a, ...) printf("DEBUG_TEST::%s (%d) : " a, __FUNCTION__, __LINE__, ##__VA_ARGS__)
가 exapansion에서 더 이상 "DEBUG_TEST"필요하지 않습니다 뭔가 변경하려면,하지만 뭔가 같은 : 내 예를 에서 물론
#define DEBUG_TEST(a, ...) printf(__MACRO__ "::%s (%d) : " a, __FUNCTION__, __LINE__, ##__VA_ARGS__)
__ MACRO __ 존재하지 않습니다 ...
질문이 명확하지 않습니다. '__MACRO__' 대신에 무엇을 원합니까? – user93353
내가 만난 전처리기에 그러한 기능이 없습니다. –
@ user93353 : 예제에서 매크로 (DEBUG_TEST)의 이름을 삽입하는 구문으로 __MACRO__을 대체하는 무언가가 필요합니다. (저는 __MACRO__을 사용하여 __FUNCTION__과 같은 익숙한 구조를 보여 줬습니다.) * 매크로 *에 대해 – user1464125