atribut impor
Direktif impor menentukan FILE IDL, ODL, atau header lain yang berisi definisi yang ingin Anda referensikan dari file IDL utama Anda.
import "filename" [[ , ... ]] ;
Parameter
-
nama file
-
Menentukan nama file header, IDL, atau ODL yang akan diimpor.
Keterangan
Dengan direktif impor , semua pernyataan IDL dalam file yang diimpor, seperti typedefs, deklarasi konstanta, dan definisi antarmuka tersedia untuk mengimpor . File IDL.
File yang diimpor diproses secara terpisah (yang berarti bahwa praprosesor CPP dipanggil secara independen) dari file IDL impor. Dengan cara ini, arahan pra-prosesor, seperti #define, tidak dibawa dari header atau file IDL yang diimpor ke file IDL impor.
Seperti makro praprosesor bahasa C #include, direktif impor memberi tahu pengkompilasi untuk menyertakan jenis data yang ditentukan dalam file IDL yang diimpor. Tidak seperti direktif #include , direktif impor mengabaikan prototipe prosedur, karena tidak ada stub yang dihasilkan untuk apa pun dalam file yang diimpor.
Untuk informasi spesifik tentang menggunakan impor untuk menyertakan file header dalam file IDL, lihat Mengimpor File Header Sistem.
Header bahasa C (. H) file yang dihasilkan untuk antarmuka tidak secara langsung berisi jenis yang diimpor tetapi menghasilkan direktif #include untuk file header yang sesuai dengan antarmuka yang diimpor. Misalnya, saat Anda mengimpor BASE. IDL ke dalam DERIVED Anda. IDL, file header yang dihasilkan DITURUNKAN. H akan berisi direktif #include BASE.H.
Aturan berikut ini akan berlaku:
- Kata kunci impor bersifat opsional dan dapat muncul nol atau lebih kali dalam file IDL.
- Setiap kata kunci impor dapat dikaitkan dengan lebih dari satu nama file.
- Pisahkan beberapa nama file dengan koma.
- Anda harus mengapit nama file dalam tanda kutip dan mengakhiri pernyataan impor dengan titik koma (;).
- Anda dapat mengimpor antarmuka yang tidak memiliki atribut ke file IDL lain. Namun, antarmuka hanya boleh berisi jenis data; tidak boleh berisi prosedur apa pun. Jika bahkan satu prosedur terkandung dalam antarmuka yang diimpor, Anda harus menentukan atribut lokal atau UUID .
- Fungsi impor adalah idempotent â€" yaitu, mengimpor antarmuka lebih dari sekali tidak memiliki efek tambahan.
Catatan
Perilaku arahan impor tidak bergantung pada sakelar mode kompilator MIDL /ms_ext (default), /osf, dan /app_config. Namun, mode pengkompilasi (/osf atau /ms_ext) dapat memengaruhi dekorasi atribut pointer pada jenis yang diimpor. Untuk detailnya lihat Pewarisan Jenis Atribut Pointer.
Contoh
import "myoldodl.odl";
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl";
Lihat juga