Share via


#include yönergesi (C/C++)

Önişlemciye yönergenin görüntülendiği noktada belirtilen dosyanın içeriğini eklemesini söyler.

Sözdizimi

#include "yol belirtimi"
#include <yol belirtimi>

Açıklamalar

Sabit ve makro tanımlarını ekleme dosyaları (üst bilgi dosyaları olarak da bilinir) olarak düzenleyebilir ve ardından yönergeleri kullanarak #include bunları herhangi bir kaynak dosyaya ekleyebilirsiniz. Ekleme dosyaları, dış değişkenlerin ve karmaşık veri türlerinin bildirimlerini birleştirmede de yararlıdır. Türler, bu amaç için oluşturulan bir ekleme dosyasında yalnızca bir kez tanımlanabilir ve adlandırılabilir.

path-spec, isteğe bağlı olarak dizin belirtiminin önüne gelen bir dosya adıdır. Dosya adı, var olan bir dosyayı adlandırmalıdır. Yol belirtiminin söz dizimi, programın derlendiği işletim sistemine bağlıdır.

kullanılarak /clrderlenen bir C++ uygulamasında derlemelere başvurma hakkında bilgi için yönergesine bakın#using.

Her iki söz dizimi formu da yönergesinin #include belirtilen dosyanın tüm içeriğiyle değiştirilmesine neden olur. İki form arasındaki fark, yol eksik belirtildiğinde önişlemcinin arama yaptığı yolların sırasıdır. Aşağıdaki tabloda, iki söz dizimi formu arasındaki fark gösterilmektedir.

Söz Dizimi Formu Eylem
Teklif edilen form Önişlemci, ekleme dosyalarını şu sırayla arar:

1) deyimini içeren dosyayla aynı dizinde #include .

2) Açık durumdaki dosyaları içeren dizinlerde, açıldıkları ters sırada. Arama üst ekleme dosyasının dizininde başlar ve üst öğe ekleme dosyalarının dizinleri aracılığıyla yukarı doğru devam eder.

3) Her /I derleyici seçeneği tarafından belirtilen yol boyunca.

4) Ortam değişkeni tarafından INCLUDE belirtilen yollar boyunca.
Köşeli ayraç formu Önişlemci, ekleme dosyalarını şu sırayla arar:

1) Her /I derleyici seçeneği tarafından belirtilen yol boyunca.

2) Derleme komut satırında, ortam değişkeni tarafından INCLUDE belirtilen yollar boyunca gerçekleşir.

Önişlemci, belirtilen ada sahip bir dosya bulur bulmaz aramayı durdurur. Ekleme dosyası için çift tırnak işaretleri ()" " arasında tam ve kesin olmayan bir yol belirtimi eklerseniz, ön işlemci yalnızca bu yol belirtimini arar ve standart dizinleri yoksayar.

Çift tırnak içine alınan dosya adı tamamlanmamış bir yol belirtimiyse, ön işlemci önce üst dosyanın dizininde arama yapın. Üst dosya, yönergesini #include içeren dosyadır. Örneğin, file1 adlı bir dosyaya file2 adlı bir dosya eklerseniz, dosya1 üst dosyadır.

Ekleme dosyaları iç içe yerleştirilebilir: Yönerge#include, başka #include bir yönerge tarafından adlandırılan bir dosyada görüntülenebilir. Örneğin, dosya2 dosya3 içerebilir. Bu durumda, dosya1 yine de dosya2'nin üst öğesi olur, ancak dosya3'ün büyükbabası olur.

Ekleme dosyaları iç içe yerleştirildiğinde ve komut satırında derleme gerçekleştiğinde, dizin araması üst dosyanın dizininde başlar. Ardından, tüm büyükbaba dosyalarının dizinlerinde ilerler. Diğer bir deyişle, arama işlemi şu anda işlenen kaynağı içeren dizine göre başlar. Dosya bulunamazsa, arama (Ek ekleme dizinleri) derleyici seçeneği tarafından /I belirtilen dizinlere taşınır. Son olarak, ortam değişkeni tarafından INCLUDE belirtilen dizinler aranıyor.

Visual Studio geliştirme ortamında ortam INCLUDE değişkeni yoksayılır. Bunun yerine ekleme dizinleri için proje özelliklerinde belirtilen değerler kullanılır. Visual Studio'da ekleme dizinlerini ayarlama hakkında daha fazla bilgi için bkz. Dizinleri Ekleme ve Ek Ekleme Dizinleri.

Bu örnekte, açılı ayraçlar kullanılarak dosya ekleme gösterilmektedir:

#include <stdio.h>

Örnek, adlı stdio.h dosyanın içeriğini kaynak programa ekler. Açılı ayraçlar, derleyici seçeneği tarafından belirtilen dizinleri aradıktan sonra ön işlemcinin INCLUDE için stdio.hortam değişkeni tarafından belirtilen dizinleri aramasına /I neden olur.

Sonraki örnekte, tırnak içinde yer alan formu kullanarak dosya ekleme gösterilmektedir:

#include "defs.h"

Örnek, tarafından defs.h belirtilen dosyanın içeriğini kaynak programa ekler. Tırnak işaretleri, ön işlemcinin önce üst kaynak dosyayı içeren dizinde arama yaptığı anlamına gelir.

Ekleme dosyalarının iç içe yerleştirilmiş olması en fazla 10 düzeye kadar devam edebilir. İç içe #include yerleştirilmiş işleme tamamlandığında, önişlemci kapsayan üst ekleme dosyasını özgün kaynak dosyaya eklemeye devam eder.

Microsoft'a özgü

Eklenecek kaynak dosyaları bulmak için, ön işlemci önce derleyici seçeneği tarafından /I belirtilen dizinleri arar. /I Seçenek yoksa veya başarısız olursa, önişlemci, açılı ayraç içindeki ekleme dosyalarını bulmak için ortam değişkenini kullanırINCLUDE. Ortam INCLUDE değişkeni ve /I derleyici seçeneği, noktalı virgülle (;) ayrılmış birden çok yol içerebilir. Seçeneğin /I bir parçası olarak veya ortam değişkeni içinde INCLUDE birden fazla dizin görünüyorsa, önişlemci bunları göründükleri sırada arar.

Örneğin, komutu

CL /ID:\msvc\include myprog.c

, ön işlemcinin gibi stdio.hekleme dosyalarını dizinde D:\msvc\include\ aramasına neden olur. Komutlar

SET INCLUDE=D:\msvc\include
CL myprog.c

aynı etkiye sahiptir. Her iki arama kümesi de başarısız olursa, önemli bir derleyici hatası oluşturulur.

Dosya adı, iki nokta üst üste (örneğin, ) içeren bir yolu olan bir ekleme dosyası için tam olarak belirtilmişse, F:\MSVC\SPECIAL\INCL\TEST.Hönişlemci yolu izler.

olarak #include "path-spec"belirtilen ekleme dosyaları için, dizin araması üst dosyanın dizininde başlar ve ardından tüm büyükbaba dosyalarının dizinlerinde devam eder. Diğer bir deyişle, arama, işlenen kaynak dosyayı içeren dizine göre başlar. Büyükbaba dosyası yoksa ve dosya hala bulunamazsa, arama dosya adı açılı ayraç içine alınmış gibi devam eder.

END Microsoft'a özgü

Ayrıca bkz.

Önişlemci yönergeleri
/I (Ek ekleme dizinleri)