2014-02-15 1 views
1

나는 이제 DEFINE_MUTEX 무엇DEFINE_MUTEX는 함수 또는 매크로입니까?

입니다 (http://pete.akeo.ie/2011/08/writing-linux-device-driver-for-kernels.html의 좋은 예 다음) C 및 모듈 개발, 에 이해를 얻으려고? 함수? 매크로?

DEFINE_MUTEX(parrot_device_mutex); 

함수 인 경우 UC 함수 이름의 원리는 무엇입니까? (. udev에 개발에 더 이상 가이드, 힌트하십시오)

+1

HTTP 참조입니다 : // lxr.free-electrons.com/ident?i=DEFINE_MUTEX (구글 검색에서 첫 번째 히트) 거의 대답합니다. – TypeIA

+0

이 질문에 대답하는 더 좋은 방법은 먼저 관련 헤더 파일을보고'DEFINE_MUTEX'을 찾는 것입니다. 그 목적을 설명하는 문서가 종종 있습니다. 이는 매크로 나 함수 또는 일반적으로 헤더 파일에서 정의 된 기호에 대한 일반적인 조언 일뿐입니다. 그리고 예, ALL_UPPERCASE는 일반적으로 매크로 및/또는 컴파일 타임 상수에 사용됩니다. 그러나 이는 일반적인 규칙 일 뿐이며, 규칙이 아닙니다. – Brandin

+0

@dvnrrs, 감사 합니다만, "preprocessor 매크로로 정의 됨" 그리고 "함수 프로토 타입으로 정의 ...". 어떻게 멍청한 놈의 관점에서 그것을 읽어야합니까? – Teson

답변

3

그것은 매크로

#define DEFINE_MUTEX(mutexname) struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) 

리눅스/포함/리눅스/mutex.h

관련 문제