이것은 리눅스 커널 소스에서 발췌 한 것입니다. stem##
은 무엇을 사용하고 있습니까? C에서 처음보고C에서`##`은 무엇을 의미합니까?
#define __pcpu_size_call_return(stem, variable) \
({ typeof(variable) pscr_ret__; \
__verify_pcpu_ptr(&(variable)); \
switch(sizeof(variable)) { \
case 1: pscr_ret__ = stem##1(variable);break; \
case 2: pscr_ret__ = stem##2(variable);break; \
case 4: pscr_ret__ = stem##4(variable);break; \
case 8: pscr_ret__ = stem##8(variable);break; \
default: \
__bad_size_call_parameter();break; \
} \
pscr_ret__; \
})
'##'연산자와 같은 기본적인 전 처리기 기능은 C의 모든 책에서 읽을 수있는 내용입니다. 항상 좋은 생각입니다. 이 장소는 주로 * 책을 읽은 후에도 * 가질 수있는 질문에 대한 것입니다. – AnT
또한, 리눅스 커널은 적절하고 읽기 쉬운 표준 C 프로그래밍을 배우고 자 할 때 가장 먼저 살펴 봐야 할 곳입니다. – Lundin
묻는다면 더 적합한 질문 제목을 선택하십시오. 종종 이것이 해결책의 첫 걸음입니다. –