Bagikan melalui


/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 juga

Opsi pengkompilasi MSVC
Sintaks baris perintah pengkompilasi MSVC