Bagikan melalui


/Yu (Gunakan file header yang telah dikommpilasikan sebelumnya)

Menginstruksikan pengkompilasi untuk menggunakan file header (.pch) yang sudah dikompilasi sebelumnya dalam kompilasi saat ini.

Sintaks

/Yu[filename]

Argumen

filename
Nama file header, yang disertakan dalam file sumber menggunakan #include arahan preprocessor.

Keterangan

Nama file sertakan harus sama untuk opsi /Yc yang membuat header yang telah dikommpilasikan sebelumnya dan untuk opsi selanjutnya /Yu yang menunjukkan penggunaan header yang telah dikommpilasikan sebelumnya.

Untuk /Yc, nama file menentukan titik di mana prakompilasi berhenti; pengkompilasi melakukan prakompilasi semua kode melalui nama file dan memberi nama header yang dihasilkan sebelumnya menggunakan nama dasar file include dan ekstensi ..pch

File .pch harus dibuat menggunakan /Yc.

Pengkompilasi memperlakukan semua kode yang terjadi sebelum file .h sebagai dikompilasi sebelumnya. Ini melompat ke tepat di luar arahan yang #include terkait dengan .h file, menggunakan kode yang terkandung dalam .pch file, dan kemudian mengkompilasi semua kode setelah nama file.

Pada baris perintah, tidak ada spasi yang diizinkan antara /Yu dan nama file.

Saat Anda menentukan /Yu opsi tanpa nama file, program sumber Anda harus berisi #pragma hdrstop pragma yang menentukan nama file header, file yang .pch telah dikompretasi. Dalam hal ini, pengkompilasi akan menggunakan header (.pch file) yang telah dikompilasi sebelumnya yang dinamai oleh /Fp (Name .pch file). Pengkompilasi melompat ke lokasi pragma tersebut dan memulihkan status yang dikompilasi dari file header yang telah dikompilasi sebelumnya yang ditentukan. Kemudian hanya mengkompilasi kode yang mengikuti pragma. Jika #pragma hdrstop tidak menentukan nama file, pengkompilasi mencari file dengan nama yang berasal dari nama dasar file sumber dengan .pch ekstensi. Anda juga dapat menggunakan /Fp opsi untuk menentukan file yang berbeda .pch .

Jika Anda menentukan /Yu opsi tanpa nama file dan gagal menentukan hdrstop pragma, pesan kesalahan dihasilkan dan kompilasi tidak berhasil.

/YcJika opsi nama file dan /Yunama file terjadi pada baris perintah yang sama dan keduanya mereferensikan nama file yang sama, /Ycnama file lebih diutamakan, prakompilasi semua kode hingga dan termasuk file bernama. Fitur ini menyederhanakan penulisan makefiles.

Karena .pch file berisi informasi tentang lingkungan mesin dan informasi alamat memori tentang program, Anda hanya boleh menggunakan .pch file pada komputer tempat file dibuat.

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

Untuk mengatur opsi pengkompilasi ini di lingkungan pengembangan Visual Studio

  1. Tentukan /Yc (Buat file header yang telah dikommpilasikan sebelumnya) pada file .cpp di proyek Anda.

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

  3. Pilih halaman properti Properti>Konfigurasi C/C++>Header yang Telah Dikompilasi sebelumnya.

  4. Ubah properti Header yang Telah Dikommpilasikan, properti Buat/Gunakan PCH Melalui File, atau properti Buat/Gunakan Header yang Telah Dikompreilasi.

Untuk mengatur opsi pengkompilasi ini secara terprogram

Contoh

Jika kode berikut:

#include <afxwin.h>   // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h"    // Include information specific to this app
...

dikompilasi dengan menggunakan baris CL /YuMYAPP.H PROG.CPPperintah , pengkompilasi tidak memproses ketiga pernyataan yang disertakan. Sebaliknya, ia menggunakan kode yang telah dikompilasi sebelumnya dari MYAPP.pch, yang menghemat waktu yang terlibat dalam praproscesing ketiga file (dan file apa pun yang mungkin mereka sertakan).

Anda dapat menggunakan /Fp (Name .pch file) opsi dengan /Yu opsi untuk menentukan nama .pch file jika nama berbeda dari argumen nama file ke /Yc atau nama dasar file sumber, seperti dalam contoh berikut:

CL /YuMYAPP.H /FpMYPCH.pch PROG.CPP

Perintah ini menentukan file header yang telah dikommpilasikan sebelumnya bernama MYPCH.pch. Pengkompilasi menggunakan kontennya untuk memulihkan status semua file header yang telah dikompilasi sebelumnya hingga dan termasuk MYAPP.h. Pengkompilasi kemudian mengkompilasi kode yang terjadi setelah #include "MYAPP.h"direktif * .

Baca juga

Opsi pengkompilasi MSVC
Sintaks baris perintah pengkompilasi MSVC