나는 버클리 실험실 검사 점/재시작의 소스 코드를보고이 전처리 매크로 정의 발견 :이 것은 무엇을 의미하는지 도대체##는 C에서 무엇을 의미합니까?
#define io_wrap(_op,_ctx,_file,_buf,_count) \
cr_##_op((_ctx)->req->errbuf,(_file),(_buf),(_count))
어떤 생각을?
나는 blcr-0.8.5이 발견/vmadump4/vmadump.h
감사합니다!
나는 버클리 실험실 검사 점/재시작의 소스 코드를보고이 전처리 매크로 정의 발견 :이 것은 무엇을 의미하는지 도대체##는 C에서 무엇을 의미합니까?
#define io_wrap(_op,_ctx,_file,_buf,_count) \
cr_##_op((_ctx)->req->errbuf,(_file),(_buf),(_count))
어떤 생각을?
나는 blcr-0.8.5이 발견/vmadump4/vmadump.h
감사합니다!
로 연결됩니다. "이 일을 의미 도대체 무엇을"_ 롤 How to concatenate twice with the C preprocessor and expand a macro as in "arg ## _ ## MACRO"?
##
은 C 사전 처리기에서 연결됩니다.
이 결과 _op((_ctx)->req->errbuf,(_file),(_buf),(_count))
그것은 토큰 연결의 cr_
_ : D –
그것은 값으로'cr_'을 연결 의미
그리고 그 핵심적으로 견실 한 세부 사항 중 일부에 대한 http://gcc.gnu.org/onlinedocs/cpp/Concatenation.html는이 질문을 참조하십시오 GCC의 설명서를 참조하십시오 공백 문자로 구분 된 경우 추가 될 공백을 추가하지 않고'_op()'에 추가합니다. –