Aracılığıyla paylaş


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 /Ycderlendiğinde bir C veya C++ dosyası içeriyorsahdrstoppragma, 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 hdrstoppragma 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:

  1. Derleyici seçeneğinin /Fp bağımsız değişkeni

  2. dosya adı bağımsız değişkeni #pragma hdrstop

  3. PCH uzantısına sahip kaynak dosyanın temel adı

ve /Yu seçeneklerinden /Yc hiçbiri veya hdrstoppragma 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 hdrstoppragma 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, hdrstoppragma 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 /Yuile kullanarak hdrstoppragma 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