다섯가지가 있더군요 __DATE__ __FILE__ __LINE__ __STDC__ __TIME__ 이것들을 출력해보면, 날짜 파일명, 시간등이 나옵니다. 그런데 이것은 ANSI C 에서 정의가 이미 되어있는것이라고 한다고 합니다. 그렇다면, __KERNEL__ 이건 뭐죠??? 리눅스 커널에서 __KERNEL__ 을 쓰는 부분은 어떤때 쓰는건지요? 궁금합니다.
__KERNEL__ 은 커널 소스를 컴파일할 때 정의되는 매크로입니다. 사용자 프로그램에서는 정의되지 않으며, 커널 헤더가 커널 전용 선언을 구분할 때 씁니다.