Bagikan melalui


Mengimpor File Header Sistem

Meskipun sering dimungkinkan untuk menggunakan direktif #include untuk menyertakan file header dalam file IDL Anda, tidak disarankan. Pengkompilasi MIDL akan menghasilkan lonjakan untuk semua fungsi yang ditentukan dalam file IDL yang sedang dikompilasi. Biasanya file header berisi sejumlah prototipe yang tidak Anda butuhkan atau ingin disertakan dalam file stub Anda, dan #include secara efektif menempatkan semua definisi tersebut ke dalam file IDL utama Anda. Selain itu, jika ada jenis yang tidak dapat diubah yang ditentukan dalam file header, file IDL mungkin tidak dikompilasi.

Ada dua cara untuk menyertakan definisi jenis dari file header dalam file IDL:

  • Gunakan direktif impor untuk menyertakan jenis data yang ditentukan dalam file header. Tidak seperti direktif #include bahasa C, direktif impor hanya mengambil jenis dan definisi konstanta dan mengabaikan prototipe prosedur. Pendekatan ini akan berfungsi selama file IDL utama Anda tidak mereferensikan jenis yang tidak dapat diubah yang ditentukan dalam file header.
  • Buat file IDL pembantu dengan antarmuka dummy yang menyertakan file header. Kemudian, gunakan direktif impor untuk menyertakan file pembantu. Dengan cara ini, hanya typedefs yang akan muncul di lonjakan yang dikompilasi. Contohnya:
//in helper.idl:
interface dummy
{ 
   #include "kitchensink.h"
   #include "system.h"
}

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