Bagikan melalui


hdrstop pragma

Memberi Anda lebih banyak kontrol atas nama file prakomprekomilasi, dan di atas lokasi tempat status kompilasi disimpan.

Sintaks

#pragma hdrstop [ ( "nama file" ) ]

Keterangan

Nama file adalah nama file header yang telah dikommpilasikan untuk digunakan atau dibuat (tergantung pada apakah /Yu atau /Yc ditentukan). Jika nama file tidak berisi spesifikasi jalur, file header yang telah dikommpilasikan diasumsikan berada dalam direktori yang sama dengan file sumber.

Jika file C atau C++ berisi hdrstoppragma saat dikompilasi dengan /Yc, pengkompilasi menyimpan status kompilasi hingga lokasi pragma. Status terkompilasi dari kode apa pun yang mengikuti pragma tidak disimpan.

Gunakan nama file untuk memberi nama file header yang telah dikompilasi di mana status yang dikompilasi disimpan. Spasi antara hdrstop dan nama file bersifat opsional. Nama file yang ditentukan dalam hdrstoppragma adalah string, dan tunduk pada batasan string C atau C++ apa pun. Secara khusus, Anda harus mengapitnya dalam tanda kutip dan menggunakan karakter escape (garis miring terbalik, \) untuk menentukan nama direktori. Contohnya:

#pragma hdrstop( "c:\\projects\\include\\myinc.pch" )

Nama file header yang telah dikompresi ditentukan sesuai dengan aturan berikut, dalam urutan prioritas:

  1. Argumen ke /Fp opsi pengkompilasi

  2. Argumen nama file ke #pragma hdrstop

  3. Nama dasar file sumber dengan ekstensi PCH

Jika tidak ada /Yc opsi dan /Yu atau hdrstoppragma yang menentukan nama file, nama dasar file sumber digunakan sebagai nama dasar file header yang telah dikompresi sebelumnya.

Anda juga dapat menggunakan perintah praproses untuk melakukan penggantian makro sebagai berikut:

#define INCLUDE_PATH "c:\\progra~1\\devstsu~1\\vc\\include\\"
#define PCH_FNAME "PROG.PCH"
.
.
.
#pragma hdrstop( INCLUDE_PATH PCH_FNAME )

Aturan berikut mengatur tempat hdrstoppragma dapat ditempatkan:

  • Ini harus muncul di luar data atau deklarasi atau definisi fungsi apa pun.

  • Ini harus ditentukan dalam file sumber, bukan dalam file header.

Contoh

#include <windows.h>                 // Include several files
#include "myhdr.h"

__inline Disp( char *szToDisplay )   // Define an inline function
{
    // ...                           // Some code to display string
}
#pragma hdrstop

Dalam contoh ini, hdrstoppragma muncul setelah dua file disertakan dan fungsi sebaris telah ditentukan. Lokasi ini mungkin, pada awalnya, tampaknya menjadi penempatan ganjil untuk pragma. Namun, pertimbangkan bahwa menggunakan opsi prakompilasi manual, /Yc dan /Yu, dengan hdrstoppragma memungkinkan Anda untuk melakukan prakompilasi seluruh file sumber, atau bahkan kode sebaris. Pengkompilasi Microsoft tidak membatasi Anda untuk melakukan prakompilasi hanya deklarasi data.

Baca juga

Arahan Pragma dan __pragma_Pragma kata kunci