2014-02-19 2 views
0

나는 버클리 실험실 검사 점/재시작의 소스 코드를보고이 전처리 매크로 정의 발견 :이 것은 무엇을 의미하는지 도대체##는 C에서 무엇을 의미합니까?

#define io_wrap(_op,_ctx,_file,_buf,_count) \ 
     cr_##_op((_ctx)->req->errbuf,(_file),(_buf),(_count)) 

어떤 생각을?

나는 blcr-0.8.5이 발견/vmadump4/vmadump.h

감사합니다!

+1

_ : D –

+0

그것은 값으로'cr_'을 연결 의미

그리고 그 핵심적으로 견실 한 세부 사항 중 일부에 대한 http://gcc.gnu.org/onlinedocs/cpp/Concatenation.html는이 질문을 참조하십시오 GCC의 설명서를 참조하십시오 공백 문자로 구분 된 경우 추가 될 공백을 추가하지 않고'_op()'에 추가합니다. –

답변

2

##은 C 사전 처리기에서 연결됩니다.

이 결과 _op((_ctx)->req->errbuf,(_file),(_buf),(_count)) 그것은 토큰 연결의 cr_

관련 문제