hdrstop
pragma
Önceden derleme dosyası adları ve derleme durumunun kaydedildiği konum üzerinde daha fazla denetim sağlar.
Sözdizimi
#pragma hdrstop
[ ( "filename" ) ]
Açıklamalar
Dosya adı, kullanılacak veya oluşturulacak önceden derlenmiş üst bilgi dosyasının adıdır (belirtilip belirtilmediğine /Yc
/Yu
bağlı olarak). Dosya adı bir yol belirtimi içermiyorsa, önceden derlenmiş üst bilgi dosyasının kaynak dosyayla aynı dizinde olduğu varsayılır.
ile /Yc
derlendiğinde bir C veya C++ dosyası içeriyorsahdrstop
pragma, derleyici derlemenin durumunu öğesinin konumuna pragmakaydeder. öğesini izleyen pragma herhangi bir kodun derlenmiş durumu kaydedilmez.
Derlenmiş durumun kaydedildiği önceden derlenmiş üst bilgi dosyasını adlandırmak için filename kullanın. ve dosya adı arasında hdrstop
bir boşluk isteğe bağlıdır. içinde hdrstop
pragma belirtilen dosya adı bir dizedir ve herhangi bir C veya C++ dizesinin kısıtlamalarına tabidir. Özellikle, dizin adlarını belirtmek için tırnak içine almanız ve kaçış karakterini (ters eğik çizgi, \
) kullanmanız gerekir. Örneğin:
#pragma hdrstop( "c:\\projects\\include\\myinc.pch" )
Önceden derlenmiş üstbilgi dosyasının adı, öncelik sırasına göre, aşağıdaki kurallara uygun şekilde belirlenir:
Derleyici seçeneğinin
/Fp
bağımsız değişkenidosya adı bağımsız değişkeni
#pragma hdrstop
PCH uzantısına sahip kaynak dosyanın temel adı
ve /Yu
seçeneklerinden /Yc
hiçbiri veya hdrstop
pragma bir dosya adı belirtmiyorsa, kaynak dosyanın temel adı önceden derlenmiş üst bilgi dosyasının temel adı olarak kullanılır.
Makro değiştirme işlemini gerçekleştirmek için ön işlem komutları da kullanabilirsiniz:
#define INCLUDE_PATH "c:\\progra~1\\devstsu~1\\vc\\include\\"
#define PCH_FNAME "PROG.PCH"
.
.
.
#pragma hdrstop( INCLUDE_PATH PCH_FNAME )
Aşağıdaki kurallar, yerleştirilebileceği yeri hdrstop
pragma yönetir:
Bir veri veya işlev bildiriminin ya da tanımının dışında görünmelidir.
Bir üstbilgi dosyasında değil, kaynak dosyada belirtilmesi gerekir.
Örnek
#include <windows.h> // Include several files
#include "myhdr.h"
__inline Disp( char *szToDisplay ) // Define an inline function
{
// ... // Some code to display string
}
#pragma hdrstop
Bu örnekte, hdrstop
pragma iki dosya dahil edildikten ve bir satır içi işlev tanımlandıktan sonra görüntülenir. Bu konum ilk başta için pragmatek bir yerleşim gibi görünebilir. Bununla birlikte, el ile ön derleme seçeneklerini /Yc
ve /Yu
ile kullanarak hdrstop
pragma kaynak dosyaların tamamını ve hatta satır içi kodu önceden derlemenizi mümkün kıldığını düşünün. Microsoft derleyicisi sizi yalnızca veri bildirimlerini önceden derlemeyle sınırlamaz.
Ayrıca bkz.
Pragma yönergeleri ve __pragma
ve _Pragma
anahtar sözcükleri