/GL
(Pengoptimalan seluruh program)
Mengaktifkan pengoptimalan seluruh program.
Sintaks
/GL
[-
]
Keterangan
Pengoptimalan seluruh program memungkinkan pengkompilasi untuk melakukan pengoptimalan dengan informasi tentang semua modul dalam program. Tanpa pengoptimalan seluruh program, pengoptimalan dilakukan berdasarkan per modul (kompilasi).
Pengoptimalan seluruh program nonaktif secara default dan harus diaktifkan secara eksplisit. Namun, dimungkinkan juga untuk secara eksplisit menonaktifkannya dengan /GL-
.
Dengan informasi tentang semua modul, pengkompilasi dapat:
Optimalkan penggunaan register di seluruh batas fungsi.
Lakukan pekerjaan yang lebih baik untuk melacak modifikasi pada data global, memungkinkan pengurangan jumlah beban dan penyimpanan.
Lacak kemungkinan kumpulan item yang dimodifikasi oleh dereferensi penunjuk, mengurangi beban dan penyimpanan yang diperlukan.
Sebariskan fungsi dalam modul bahkan ketika fungsi didefinisikan dalam modul lain.
.obj
file yang diproduksi dengan /GL
tidak dapat digunakan oleh utilitas linker seperti EDITBIN
dan DUMPBIN
.
Jika Anda mengkompilasi program Anda dengan /GL
dan /c
, Anda harus menggunakan opsi linker /LTCG untuk membuat file output.
/ZI
tidak dapat digunakan dengan /GL
Format file yang diproduksi dengan /GL
dalam versi saat ini sering kali tidak dapat dibaca oleh versi Visual Studio yang lebih baru dan toolset MSVC. Kecuali Anda bersedia mengirim salinan .lib
file untuk semua versi Visual Studio, Anda mengharapkan pengguna Anda untuk menggunakan, sekarang dan di masa depan, jangan mengirim file yang .lib
terdiri dari .obj
file yang diproduksi oleh /GL
. Untuk informasi selengkapnya, lihat Pembatasan kompatibilitas biner.
.obj
file yang dihasilkan oleh /GL
dan file header yang telah dikompilasi sebelumnya tidak boleh digunakan untuk membangun .lib
file kecuali .lib
file ditautkan pada komputer yang sama yang menghasilkan /GL
.obj
file. Informasi dari .obj
file header yang telah dikompretasi file diperlukan pada waktu tautan.
Untuk informasi selengkapnya tentang pengoptimalan yang tersedia dengan dan batasan seluruh pengoptimalan program, lihat /LTCG
. /GL
juga membuat pengoptimalan terpandu profil tersedia. Saat mengompilasi pengoptimalan terpandu profil dan jika Anda ingin pengurutan fungsi dari pengoptimalan yang dipandu profil Anda, Anda harus mengompilasi dengan /Gy
atau opsi pengompilasi yang menyiratkan /Gy.
Untuk mengatur opsi linker ini di lingkungan pengembangan Visual Studio
Untuk informasi selengkapnya tentang cara menentukan /GL
di lingkungan pengembangan, lihat /LTCG
(Pembuatan kode waktu tautan) .
Untuk menyetel opsi linker ini secara terprogram
- Lihat WholeProgramOptimization.
Lihat juga
Opsi pengkompilasi MSVC
Sintaks baris perintah pengkompilasi MSVC