/reference
(Gunakan modul bernama IFC)
Memberi tahu pengkompilasi untuk menggunakan IFC (.ifc
) yang ada untuk kompilasi saat ini.
Sintaks
/reference
module-name=filename
/reference
filename
Argumen
filename
Nama file yang berisi data IFC, yang merupakan informasi modul bawaan. Untuk mengimpor lebih dari satu modul, sertakan opsi terpisah /reference
untuk setiap file.
module-name
Nama yang valid dari nama unit antarmuka modul utama yang diekspor atau nama partisi modul lengkap.
Keterangan
Dalam kebanyakan kasus, Anda tidak perlu menentukan sakelar ini karena sistem proyek menemukan dependensi modul dalam solusi secara otomatis.
Opsi /reference
pengkompilasi mengharuskan /std:c++20
Anda mengaktifkan opsi pengkompilasi atau yang lebih baru (seperti /std:c++latest
). Opsi /reference
ini tersedia mulai di Visual Studio 2019 versi 16.10.
/reference
Jika argumen adalah filename
tanpa module-name
, file akan dibuka pada runtime untuk memverifikasi filename
nama argumen impor tertentu. Ini dapat mengakibatkan performa runtime yang lebih lambat dalam skenario yang memiliki banyak /reference
argumen.
module-name
harus berupa nama unit antarmuka modul utama yang valid atau nama partisi modul lengkap. Contoh nama antarmuka modul utama meliputi:
M
M.N.O
MyModule
my_module
Contoh nama partisi modul lengkap meliputi:
M:P
M.N.O:P.Q
MyModule:Algorithms
my_module:algorithms
Jika referensi modul dibuat menggunakan module-name
, modul lain pada baris perintah tidak dicari jika kompilator menemukan impor nama tersebut. Misalnya, mengingat baris perintah ini:
cl ... /std:c++latest /reference m.ifc /reference m=n.ifc
Dalam kasus di atas, jika pengkompilasi melihat import m;
maka m.ifc
tidak dicari.
Contoh
Diberikan tiga modul seperti yang tercantum dalam tabel ini:
Modul | File IFC |
---|---|
M |
m.ifc |
M:Part1 |
m-part1.ifc |
Core.Networking |
Networking.ifc |
Opsi referensi menggunakan filename
argumen akan seperti ini:
cl ... /std:c++latest /reference m.ifc /reference m-part.ifc /reference Networking.ifc
Opsi referensi yang digunakan module-name=filename
akan seperti ini:
cl ... /std:c++latest /reference m=m.ifc /reference M:Part1=m-part.ifc /reference Core.Networking=Networking.ifc
Lihat juga
/scanDependencies
(Mencantumkan dependensi modul dalam bentuk standar)
/sourceDependencies:directives
(Mencantumkan modul dan dependensi unit header)
/headerUnit
(Gunakan unit header IFC)
/exportHeader
(Buat unit header)