2013년 6월 10일 월요일

C에서 Marco ## 인자 사용법.

Argument가 있는 Macro 사용법

아래와 같이 정의를 한 후에

#define FUNC_MACRO (AA, BB, CC); \
func1 (NAME_##AA##_FUNC1); \
ret = func2 (NAME_##BB##_FUNC2); \
func3 (NAME_##CC##_FUNC3);


다음과 같이 사용을 하면,

FUNC_MACRO(11,22,33);


아래와 같은 코드가 실제로는 컴파일이 된다. 

func1 (NAME_11_FUNC1); 
ret = func2 (NAME_22_FUNC2); 
func3 (NAME_33_FUNC3);


댓글 없음:

댓글 쓰기