다음을 통해 공유


시스템 헤더 파일 가져오기

#include 지시문을 사용하여 IDL 파일에 헤더 파일을 포함할 수 있는 경우가 많지만 사용하지 않는 것이 좋습니다. MIDL 컴파일러는 컴파일되는 IDL 파일에 정의된 모든 함수에 대한 스텁을 생성합니다. 일반적으로 헤더 파일에는 스텁 파일에 포함할 필요도 없고 포함할 필요도 없는 여러 프로토타입이 포함되어 있으며, #include 이러한 모든 정의를 주 IDL 파일에 효과적으로 배치합니다. 또한 헤더 파일에 정의할 수 없는 형식이 있는 경우 IDL 파일이 컴파일되지 않을 수 있습니다.

IDL 파일에 헤더 파일의 형식 정의를 포함하는 방법에는 두 가지가 있습니다.

  • 헤더 파일에 정의된 데이터 형식을 포함하려면 가져오기 지시문을 사용합니다. C-language #include 지시문과 달리 가져오기 지시문은 형식 및 상수 정의만 선택하고 프로시저 프로토타입을 무시합니다. 이 방법은 기본 IDL 파일이 헤더 파일에 정의된 수정할 수 없는 형식을 참조하지 않는 한 작동합니다.
  • 헤더 파일을 포함하는 더미 인터페이스를 사용하여 도우미 IDL 파일을 만듭니다. 그런 다음 가져오기 지시문을 사용하여 도우미 파일을 포함합니다. 이렇게 하면 컴파일된 스텁에 typedef만 표시됩니다. 예를 들어:
//in helper.idl:
interface dummy
{ 
   #include "kitchensink.h"
   #include "system.h"
}

//in main.idl:
import "helper.idl";