Bagikan melalui


/Yd (Tempatkan Informasi Debug dalam File Objek)

Langkah-langkah informasi penelusuran kesalahan lengkap di semua file objek yang dibuat dari file header (.pch) yang telah dikommpilasikan sebelumnya saat digunakan dengan opsi /Yc dan /Z7 . Ditolak.

Sintaks

/Yd

Keterangan

/Yd tidak digunakan lagi; Visual C++ sekarang mendukung beberapa objek yang menulis ke satu file .pdb, gunakan /Zi sebagai gantinya. Untuk daftar opsi pengkompilasi yang tidak digunakan lagi, lihat Opsi Pengkompilasi yang Tidak Digunakan lagi dan Dihapus di Opsi Pengkompilasi Yang Tercantum menurut Kategori.

Kecuali Anda perlu mendistribusikan pustaka yang berisi informasi penelusuran kesalahan, gunakan opsi /Zi daripada /Z7 dan /Yd.

Menyimpan informasi penelusuran kesalahan lengkap di setiap file .obj hanya diperlukan untuk mendistribusikan pustaka yang berisi informasi penelusuran kesalahan. Ini memperlambat kompilasi dan membutuhkan ruang disk yang cukup besar. Ketika /Yc dan /Z7 digunakan tanpa /Yd, pengkompilasi menyimpan informasi penelusuran kesalahan umum dalam file .obj pertama yang dibuat dari file .pch. Pengkompilasi tidak menyisipkan informasi ini ke dalam file .obj yang kemudian dibuat dari file .pch; ini menyisipkan referensi silang ke informasi. Tidak peduli berapa banyak file .obj yang menggunakan file .pch, hanya satu file .obj yang berisi informasi penelusuran kesalahan umum.

Meskipun perilaku default ini menghasilkan waktu build yang lebih cepat dan mengurangi tuntutan ruang disk, tidak diinginkan jika perubahan kecil memerlukan pembangunan ulang file .obj yang berisi informasi debugging umum. Dalam hal ini, pengkompilasi harus membangun kembali semua file .obj yang berisi referensi silang ke file .obj asli. Selain itu, jika file .pch umum digunakan oleh proyek yang berbeda, mengandalkan referensi silang ke satu file .obj sulit.

Untuk informasi selengkapnya tentang header yang telah dikommpilasikan sebelumnya, lihat:

Untuk mengatur opsi pengkompilasi ini di lingkungan pengembangan Visual Studio

  1. Buka kotak dialog Halaman Properti proyek. Untuk detailnya, lihat Mengatur pengkompilasi C++ dan membuat properti di Visual Studio.

  2. Pilih halaman properti Properti>Konfigurasi C/C++>Baris Perintah.

  3. Masukkan opsi pengkompilasi dalam kotak Opsi Tambahan.

Untuk mengatur opsi pengkompilasi ini secara terprogram

Contoh

Misalkan Anda memiliki dua file dasar, F.cpp dan G.cpp, masing-masing berisi pernyataan #include ini:

#include "windows.h"
#include "etc.h"

Perintah berikut membuat file header etc.pch dan file objek F.obj:

CL /YcETC.H /Z7 F.CPP

File objek F.obj mencakup jenis dan informasi simbol untuk WINDOWS.h dan ETC.h (dan file header lainnya yang mereka sertakan). Sekarang Anda dapat menggunakan header ETC.pch yang telah dikompilasi sebelumnya untuk mengkompilasi file sumber G.cpp:

CL /YuETC.H /Z7 G.CPP

File objek G.obj tidak menyertakan informasi penelusuran kesalahan untuk header yang telah dikompreilasi tetapi hanya mereferensikan informasi tersebut dalam file F.obj. Perhatikan bahwa Anda harus menautkan dengan file F.obj.

Jika header yang telah dikompilasi sebelumnya tidak dikompilasi dengan /Z7, Anda masih dapat menggunakannya dalam kompilasi selanjutnya menggunakan /Z7. Namun, informasi penelusuran kesalahan ditempatkan dalam file objek saat ini, dan simbol lokal untuk fungsi dan jenis yang ditentukan dalam header yang telah dikompilasi sebelumnya tidak tersedia untuk debugger.

Baca juga

Opsi Pengkompilasi MSVC
Sintaks Baris Perintah Pengkompilasi MSVC