Aracılığıyla paylaş


İzlenecek yol: STL kitaplıklarını üst bilgi birimi olarak içeri aktarma

Bu izlenecek yol, C++ Standart Şablon Kitaplığı (STL) kitaplıklarının Visual Studio'da üst bilgi birimi olarak nasıl içeri aktarılacağını gösterir. Standart kitaplığı içeri aktarmanın daha hızlı ve daha sağlam bir yolu için bkz . Öğretici: Modülleri kullanarak C++ standart kitaplığını içeri aktarma.

STL üst bilgisini üst bilgi birimi olarak içeri aktarmak, önceden derlenmiş üst bilgi dosyalarını kullanmaktan daha kolaydır. Üst bilgi birimlerinin ayarlanması ve kullanılması daha kolaydır, diskte önemli ölçüde daha küçüktür, benzer performans avantajları sağlar ve paylaşılan PCH'den daha esnektir.

Üst bilgi birimlerinin ne olduğu ve sağladığı avantajlar hakkında daha ayrıntılı bilgi için bkz . Üst bilgi birimi nedir?. Üst bilgi birimlerini standart kitaplığı içeri aktarmanın diğer yollarıyla karşılaştırmak için bkz . Üst bilgi birimlerini, modülleri ve önceden derlenmiş üst bilgileri karşılaştırma.

Ön koşullar

Üst bilgi birimlerini kullanmak için Visual Studio 2022 veya üzerini ya da Visual Studio 2019 sürüm 16.11 veya üzerini kullanın. Üst /std:c++20 bilgi birimlerini kullanmak için (veya üzeri) seçeneği gereklidir.

STL üst bilgilerini üst bilgi birimi olarak içeri aktarmaya yönelik iki yaklaşım

STL üst bilgisini içeri aktarabilmeniz için önce bir üst bilgi birimine derlenmiş olması gerekir. Üst bilgi birimi, üst bilgi dosyasının ikili gösterimidir. Bir uzantısı vardır .ifc .

Önerilen yaklaşım, kullanmak istediğiniz STL üst bilgileri için yerleşik üst bilgi birimlerini içeren bir statik kitaplık oluşturmaktır. Ardından bu kitaplığa ve import üst bilgi birimlerine başvurun. Bu yaklaşım daha hızlı derlemelere ve daha iyi yeniden kullanımlara neden olabilir. Bu yaklaşımı denemek için bkz . Yaklaşım 1: STL kitaplık üst bilgi birimlerinin statik kitaplığını oluşturma.

Bir diğer yaklaşım da Visual Studio'nun projenizdeki STL üst bilgilerini #include taraması, bunları üst bilgi birimlerinde derlemesi ve import bu üst bilgiler yerine #include bunları derlemesidir. Bu yaklaşım, kaynak kodunuzu değiştirmeniz gerekmeyen büyük bir kod tabanınız varsa kullanışlıdır. Bu yaklaşım statik kitaplık yaklaşımından daha az esnektir çünkü diğer projelerde yerleşik üst bilgi birimlerini yeniden kullanmak için uygun değildir. Ancak, tek tek STL kitaplıklarını üst bilgi birimi olarak içeri aktarmanın performans avantajını elde edersiniz. Bu yaklaşımı denemek için bkz . Yaklaşım 2: Tarama içeri aktaracak STL üst bilgilerini içerir.

Yaklaşım 1: STL kitaplık üst bilgi birimlerinin statik kitaplığını oluşturma

STL kitaplıklarını üst bilgi birimi olarak kullanmanın önerilen yolu bir veya daha fazla statik kitaplık projesi oluşturmaktır. Bu projeler, kullanmak istediğiniz STL kitaplık üst bilgi birimlerinden oluşmalıdır. Ardından, bu STL üst bilgi birimlerini kullanmak için kitaplık projelerine başvurun. Paylaşılan önceden derlenmiş üst bilgileri kullanmaya benzer, ancak daha kolaydır.

Statik kitaplık projesinde yerleşik olarak bulunan üst bilgi birimleri (ve modüller) projelere başvurmak için otomatik olarak kullanılabilir çünkü proje sistemi, başvuran projelerin üst bilgi birimlerini içeri aktarabilmesi için uygun /headerUnit komut satırı seçeneğini derleyiciye otomatik olarak ekler.

Bu yaklaşım, belirli bir üst bilgi için üst bilgi biriminin yalnızca bir kez derlenmesini sağlar. Bir PCH ile mümkün olmayan üst bilgi birimlerinin bazılarını veya tümünü içeri aktarmanıza olanak tanır. Üst bilgi birimlerini istediğiniz sırada ekleyebilirsiniz.

Aşağıdaki örnekte ve <vector> üst bilgi birimlerinden <iostream> oluşan statik bir kitaplık projesi oluşturursunuz. Çözüm oluşturulduktan sonra, başka bir C++ projesinden bu paylaşılan üst bilgi birimi projesine başvuracaksınız. Her yerde import <iostream>; veya import <vector>; bulunduğunda, bu kitaplığın yerleşik üst bilgi birimi, üst bilgiyi ön işlemciyle çevirmek yerine kullanılır. Aynı üst bilgi birden çok dosyaya eklendiğinde PCH dosyaları gibi derleme performansını geliştirir. Üst bilginin, bunu içeren dosyalar tarafından tekrar tekrar işlenmesi gerekmez. Bunun yerine, önceden işlenmiş derlenmiş üst bilgi birimi içeri aktarılır.

ve STL kitaplıklarını <iostream><vector>içeren statik bir kitaplık oluşturmak için şu adımları izleyin:

  1. Boş bir C++ projesi oluşturun. SharedPrj olarak adlandır.
    Yeni proje oluştur penceresinde bulunan proje türlerinden C++ için Boş Proje'yi seçin:Screenshot that shows creating a new empty C++ project.

  2. Projeye yeni bir C++ dosyası ekleyin. Dosyanın içeriğini şu şekilde değiştirin:

    import <iostream>;
    import <vector>;
    

Proje özelliklerini ayarlama

Bu projedeki üst bilgi birimlerini paylaşmak için proje özelliklerini ayarlayın:

  1. Visual Studio ana menüsünde Project>SharedPrj Özellikleri'ni seçerek proje Özellik Sayfaları iletişim kutusunu açın:Screenshot that shows settings for Configuration Type and C++ Language Standard.
  2. Yapılandırma açılan listesinden Tüm Yapılandırmalar'ı ve ardından Platform açılan listesinde Tüm Platformlar'ıseçin. Bu ayarlar, hata ayıklama veya yayın için derleme yapıyor olun değişikliklerinizin geçerli olmasını sağlar.
  3. Proje Özellik Sayfaları iletişim kutusunun sol bölmesinde Yapılandırma Özellikleri Genel'i> seçin.
  4. Yapılandırma Türü seçeneğini Statik kitaplık (.lib) olarak değiştirin.
  5. C++ Dil Standart'ı ISO C++20 Standart (/std:c++20) (veya üzeri) olarak değiştirin.
  6. Proje Özellik Sayfaları iletişim kutusunun sol bölmesinde Yapılandırma Özellikleri>C/C++>Genel'i seçin.
  7. Modül Bağımlılıkları için Kaynakları Tara açılan listesinde Evet'i seçin. (Bu seçenek, derleyicinin üst bilgi birimlerinde yerleşik olarak bulunabilecek bağımlılıklar için kodunuzu taramasına neden olur): Screenshot that shows the scan module dependencies property setting.
  8. Proje Özellik Sayfaları iletişim kutusunu kapatmak için Tamam'ı seçin. Ana menüden Derleme Çözümü'ne>tıklayarak çözümü derleyin.

Üst bilgi birimi kitaplığına başvurma

Statik kitaplıktan ve <vector> üst bilgi birimleri olarak içeri aktarmak <iostream> için, statik kitaplığa aşağıdaki gibi başvuran bir proje oluşturun:

  1. Geçerli çözüm hala açıkken Visual Studio menüsünde Dosya>Ekle Yeni Proje'yi> seçin.

  2. Yeni proje oluştur sihirbazında C++ Konsol Uygulaması şablonunu ve ardından İleri'yi seçin.

  3. Yeni projeye İzlenecek Yol adını verin. Çözüm açılan listesini Çözüme ekle olarak değiştirin. Projeyi oluşturmak ve çözümünüzde eklemek için Oluştur'u seçin.

  4. Walkthrough.cpp kaynak dosyasının içeriğini aşağıdaki gibi değiştirin:

    import <iostream>;
    import <vector>;
    
    int main()
    {
        std::vector<int> numbers = {0, 1, 2};
        std::cout << numbers[1];
    }
    

Üst bilgi birimleri için (veya üzeri) seçeneği gerekir /std:c++20 . Aşağıdaki adımları kullanarak dil standardını ayarlayın:

  1. Çözüm Gezgini'de, İzlenecek yol projesine sağ tıklayın ve Özellikler'i seçerek proje Özellik Sayfaları iletişim kutusunu açın:Screenshot that shows setting the language standard to the preview version.
  2. İzlenecek yol projesi Özellik Sayfaları iletişim kutusunun sol bölmesinde Yapılandırma Özellikleri Genel'i> seçin.
  3. C++ Dil Standardı açılan listesinde ISO C++20 Standart (/std:c++20) (veya üzeri) öğesini seçin.
  4. Proje Özellik Sayfaları iletişim kutusunu kapatmak için Tamam'ı seçin.

İzlenecek yol projesinde, aşağıdaki adımları izleyerek SharedPrj projesine bir başvuru ekleyin:

  1. İzlenecek yol projesinde Başvurular düğümünü ve ardından Başvuru Ekle'yi seçin. Proje listesinde SharedPrj'yi seçin:Screenshot that shows the Add Reference dialog. It's used to add a reference to the Walkthrough project.Bu başvurunun eklenmesi, derleme sisteminin, İzlenecek Yol projesindeki bir import kişi SharedPrj'deki yerleşik üst bilgi birimlerinden biriyle eşleştiğinde SharedPrj tarafından oluşturulan üst bilgi birimlerini kullanmasına neden olur.
  2. Başvuru Ekle iletişim kutusunu kapatmak için Tamam'ı seçin.
  3. İzlenecek yol projesine sağ tıklayın ve Başlangıç Projesi Olarak Ayarla'yı seçin.
  4. Çözümü oluşturun. (Kullan >Ana menüde Derleme Çözümü.) Beklenen çıkışı ürettiğini görmek için çalıştırın:1

Bu yaklaşımın avantajı, içindeki üst bilgi birimlerini yeniden kullanmak için herhangi bir projeden statik kitaplık projesine başvurabilmenizdir. Bu örnekte, statik kitaplık ve <iostream> üst bilgi birimlerini <vector> içerir.

Çeşitli projelerinizden içeri aktarmak istediğiniz yaygın olarak kullanılan tüm STL üst bilgilerini içeren monolitik bir statik kitaplık projesi oluşturabilirsiniz. Veya üst bilgi birimi olarak içeri aktarmak istediğiniz farklı STL kitaplıkları gruplandırmalarında daha küçük paylaşılan kitaplık projeleri oluşturabilirsiniz. Ardından bu paylaşılan üst bilgi birimi projelerine gerektiği gibi başvurun.

Bir üst bilgi biriminin içeri aktarılması derleyicinin yapması gereken işi önemli ölçüde azalttığı için sonuç derleme aktarım hızını artırmalıdır.

Bu yaklaşımı kendi projelerinizde kullandığınızda, statik kitaplık projesini başvuruda bulunan projeyle uyumlu derleyici seçenekleriyle derleyin. Örneğin, özel durum işlemeyi /EHsc açmak için STL projeleri derleyici seçeneğiyle derlenmelidir ve statik kitaplık projesine başvuran projeler de öyle olmalıdır.

/translateInclude komutunu kullanma

/translateInclude Derleyici seçeneği (C/C++>Genel>İçeri Aktarmalara İçeri Aktarmalar'ın altındaki proje Özellik Sayfaları iletişim kutusunda bulunur), STL kitaplıklarının eski projelerinde #include üst bilgi birimi kitaplığı kullanmanızı kolaylaştırır. Bu, projenizde yönergelerin olarak değiştirilmesini #includeimport gereksiz hale getirirken, yine de bunları eklemek yerine üst bilgi birimlerini içeri aktarma avantajı sağlar.

Örneğin, projenizde varsa #include <vector> ve için <vector>üst bilgi birimi içeren statik bir kitaplığa başvurursanız, kaynak kodunuzda el ile olarak import <vector>; değiştirmeniz #include <vector> gerekmez. Bunun yerine, derleyici otomatik olarak olarak import <vector>;davranır#include <vector>. Bu yaklaşım hakkında ayrıntılı bilgi için bkz . Yaklaşım 2: Tarama içeri aktaracak STL üst bilgilerini içerir. Tüm STL üst bilgi dosyaları bir üst bilgi birimine derlenemez. header-units.json Visual Studio ile birlikte gelen, hangi STL üst bilgi dosyalarının üst bilgi birimlerinde derlenebilir olduğunu listeler. Davranışını belirtmek için makroları kullanan bir üst bilgi genellikle üst bilgi birimine derlenemez.

Üst #include bilgi birimine başvurmayan bir deyim normal #includeolarak değerlendirilir.

Üst bilgi birimlerini projeler arasında yeniden kullanma

Statik kitaplık projesi tarafından oluşturulan üst bilgi birimleri, doğrudan ve dolaylı olarak başvuran tüm projeler için otomatik olarak kullanılabilir. Başvuran tüm projeler için hangi üst bilgi birimlerinin otomatik olarak kullanılabilir olacağını seçmenizi sağlayan proje ayarları vardır. Ayarlar, VC++ Dizinleri altındaki proje ayarlarındadır.

  1. Çözüm Gezgini'da projeye sağ tıklayın ve Özellikler'i seçerek proje Özellik Sayfaları iletişim kutusunu açın.
  2. İletişim kutusunun sol bölmesinde Yapılandırma Özellikleri VC++ Dizinleri'ni> seçin:Screenshot that shows public project content properties, like Public Include Directories and All Header Files are Public.

Aşağıdaki özellikler, üst bilgi birimlerinin derleme sistemine görünürlüğünü denetler:

  • Genel Ekleme Dizinleri , başvuruda bulunan projelerde ekleme yoluna otomatik olarak eklenmesi gereken üst bilgi birimleri için proje dizinlerini belirtir.
  • Genel C++ Modül Dizinleri , hangi proje dizinlerinin projelere başvuruda bulunabilecek üst bilgi birimleri içerdiğini belirtir. Bu özellik bazı üst bilgi birimlerini genel yapmanıza olanak tanır. Diğer projeler tarafından görülebilir, bu nedenle paylaşmak istediğiniz üst bilgi birimlerini buraya yerleştirin. Bu ayarı kullanırsanız, kolaylık sağlamak için Genel Ekleme Dizinleri'ni belirterek genel üst bilgilerinizi başvuruda bulunan projelere ekle yoluna otomatik olarak ekleyin.
  • Tüm Modüller Geneldir: DLL projesinin bir parçası olarak oluşturulan üst bilgi birimlerini kullandığınızda, simgelerin DLL'den dışarı aktarılması gerekir. Modül simgelerini otomatik olarak dışarı aktarmak için bu özelliği Evet olarak ayarlayın.

Önceden oluşturulmuş bir modül dosyası kullanma

Genellikle, üst bilgi birimlerini çözümler arasında yeniden kullanmanın en kolay yolu, her çözümden paylaşılan üst bilgi birimi projesine başvurmaktır.

Projeniz olmayan bir yerleşik üst bilgi birimi kullanmanız gerekiyorsa, yerleşik dosyanın nerede .ifc olduğunu belirterek bunu çözümünüzde içeri aktarabilirsiniz. Bu ayara erişmek için:

  1. Ana menüde Proje>Özellikleri'ni seçerek proje Özellik Sayfaları iletişim kutusunu açın.
  2. İletişim kutusunun sol bölmesinde Yapılandırma Özellikleri>C/C++>Genel'i seçin.
  3. Ek Modül Bağımlılıkları'nda, başvurulan modülleri noktalı virgülle ayırarak ekleyin. Ek Modül Bağımlılıkları için kullanılacak biçimin bir örneği aşağıda verilmiştir: ModuleName1=Path\To\ModuleName1.ifc; ModuleName2=Path\To\ModuleName2.ifcScreenshot showing project Property Pages properties under Configuration Properties, C/C++, General, with Additional Module Dependencies selected.

Üst bilgi biriminin birden çok kopyası arasından seçim yapın

Aynı ada sahip veya aynı üst bilgi dosyası için birden çok üst bilgi birimi oluşturan projelere başvurursanız, hangisinin kullanılacağını belirtmeniz gerekir. Üst bilgi biriminin farklı derleyici ayarlarıyla oluşturulmuş farklı sürümleri olabilir ve proje ayarlarınızla eşleşen sürümü belirtmeniz gerekir.

Hangi üst bilgi biriminin kullanılacağını belirterek çakışmaları çözmek için projenin Ek Üst Bilgi Birimi Bağımlılıkları özelliğini kullanın. Aksi takdirde, hangisinin seçildiği tahmin etmek mümkün değildir.

Ek Üst Bilgi Birimi Bağımlılıkları özelliğini ayarlamak için:

  1. Ana menüde Proje>Özellikleri'ni seçerek proje Özellik Sayfaları iletişim kutusunu açın.
  2. İletişim kutusunun sol bölmesinde Yapılandırma Özellikleri>C/C++>Genel'i seçin.
  3. Çakışmaları çözmek için Ek Üst Bilgi Birimi Bağımlılıkları'nda hangi modüllerin veya üst bilgi birimi dosyalarının kullanılacağını belirtin. Ek Üst Bilgi Birimi Bağımlılıkları için şu biçimi kullanın:Path\To\Header1.h= Path\To\HeaderUnit1.ifc;Path\To\Header2.h= Path\To\ HeaderUnit2.ifcScreenshot that shows the Additional Header Unit Dependencies setting in the project Property Pages dialog.

Önemli

Üst bilgi birimlerini paylaşan projelerin uyumlu derleme seçenekleriyle derlenmiş olduğundan emin olun. Derleme seçeneklerini oluştururken kullandığınız üst bilgi biriminden farklı olan bir üst bilgi birimi uygularken kullanırsanız, derleyici uyarı verir.

Dekont

DLL projesinin bir parçası olarak oluşturulan üst bilgi birimlerini kullanmak için Tüm Modüller Genel olarak Evet olarak ayarlayın.

Yaklaşım 2: Tarama, içeri aktaracak STL üst bilgilerini içerir

STL kitaplıklarını içeri aktarmanın bir diğer yolu da Visual Studio'nun projenizdeki STL üst bilgilerini #include taramasını ve bunları üst bilgi birimlerinde derlemesini sağlamaktır. Derleyici daha sonra bu üst bilgileri içermek yerine içeri aktarır.

Bu seçenek, projeniz birçok dosyada çok sayıda STL üst bilgi dosyası içerdiğinde veya derleme aktarım hızı kritik olmadığında kullanışlıdır. Bu seçenek, belirli bir üst bilgi dosyası için bir üst bilgi biriminin yalnızca bir kez derlenmesini garanti etmez. Ancak, büyük bir kod tabanınız varsa kullanışlıdır: Kullandığınız STL kitaplıklarının çoğunda üst bilgi birimlerinin avantajlarından yararlanmak için kaynak kodunuzu değiştirmeniz gerekmez.

Bu yaklaşım statik kitaplık yaklaşımından daha az esnektir, çünkü diğer projelerde yerleşik üst bilgi birimlerini yeniden kullanma konusunda kendini kullanmaz. Bu yaklaşım daha büyük projeler için uygun olmayabilir: Tüm kaynakların deyimler için #include taranması gerektiğinden en uygun derleme süresini garanti etmez.

Tüm üst bilgi dosyaları otomatik olarak üst bilgi birimlerine dönüştürülemez. Örneğin, makrolar aracılığıyla koşullu derlemeye bağlı üst bilgiler üst bilgi birimlerine dönüştürülmemelidir. Derleyicinin belirtildiğinde kullandığı /translateInclude STL üst bilgileri için dosya biçiminde bir header-units.jsonizin verilenler listesi vardır. Hangi STL üst bilgilerinin üst bilgi birimlerine derleneceğini belirler. Dosya header-units.json , Visual Studio yükleme dizininin altındadır. Örneğin, %ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include\header-units.json. STL üst bilgi dosyası listede yoksa, üst bilgi birimi olarak içeri aktarmak yerine normal #include olarak değerlendirilir. Dosyanın bir diğer avantajı header-units.json da, yerleşik üst bilgi birimlerinde simge yinelemesini engellemesidir. Başka bir ifadeyle, bir üst bilgi birimi derlendiğinde başka bir kitaplık üst bilgisi birden çok kez getiriliyorsa simgeler yinelenmez.

Bu yaklaşımı denemek için iki STL kitaplığı içeren bir proje oluşturun. Ardından, sonraki bölümde açıklandığı gibi kitaplıkları dahil etme yerine üst bilgi birimi olarak içeri aktarabilmesi için projenin özelliklerini değiştirin.

C++ konsol uygulama projesi oluşturma

İki STL kitaplığı içeren bir proje oluşturmak için şu adımları izleyin: <iostream> ve <vector>.

  1. Visual Studio'da yeni bir C++ konsol uygulaması projesi oluşturun.

  2. Kaynak dosyanın içeriğini aşağıdaki gibi değiştirin:

    #include <iostream>;
    #include <vector>;
    
    int main()
    {
        std::vector<int> numbers = {0, 1, 2};
        std::cout << numbers[1];
    }
    

Proje seçeneklerini ayarlama ve projeyi çalıştırma

Aşağıdaki adımlar, derleyicinin üst bilgi birimlerine çevrilecek dahil edilen üst bilgileri taramasına neden olan seçeneği ayarlar. Ayrıca, derleyicinin üst bilgi birimi olarak değerlendirilebilen üst bilgi dosyaları için yazmış import gibi davranmasına #include neden olan seçeneği de ayarlar.

  1. Ana menüde Proje>Özellikleri'ni seçerek proje Özellik Sayfaları iletişim kutusunu açın.
  2. Yapılandırma açılan listesinden Tüm Yapılandırmalar'ı ve ardından Platform açılan listesinde Tüm Platformlar'ıseçin. Bu ayarlar, hata ayıklama veya sürüm oluşturma ve diğer yapılandırmalar için değişikliklerinizin geçerli olmasını sağlar.
  3. İletişim kutusunun sol bölmesinde Yapılandırma Özellikleri>C/C++>Genel'i seçin.
  4. Modül Bağımlılıkları için Tarama Kaynaklarını Evet olarak ayarlayın. Bu ayar, tüm uyumlu üst bilgi dosyalarının üst bilgi birimlerinde derlendiğinden emin olur.
  5. İçeri Aktarmalar için İçeri Aktarma İçeri Aktarma İçeri Aktarma'yı Evet olarak ayarlayın. Bu ayar, dosyada header-unit.json listelenen STL üst bilgi dosyalarını üst bilgi birimi olarak derler ve önişlemciyi #include kullanmak yerine bunları içeri aktarır. Screenshot that shows the scan module dependencies property setting in the project Property Pages.
  6. Değişikliklerinizi kaydetmek ve proje Özellik Sayfaları iletişim kutusunu kapatmak için Tamam'ı seçin.

Üst /std:c++20 bilgi birimlerini kullanmak için veya sonraki bir seçenek gereklidir. Derleyici tarafından kullanılan C++ dil standardını değiştirmek için:

  1. Ana menüde Proje>Özellikleri'ni seçerek proje Özellik Sayfaları iletişim kutusunu açın.
  2. Yapılandırma açılan listesinden Tüm Yapılandırmalar'ı ve ardından Platform açılan listesinde Tüm Platformlar'ıseçin. Bu ayarlar, hata ayıklama veya sürüm oluşturma ve diğer yapılandırmalar için değişikliklerinizin geçerli olmasını sağlar.
  3. Proje Özellik Sayfaları iletişim kutusunun sol bölmesinde Yapılandırma Özellikleri Genel'i> seçin.
  4. C++ Dil Standardı açılan listesinde ISO C++20 Standart (/std:c++20) (veya üzeri) öğesini seçin.
  5. Değişikliklerinizi kaydetmek ve proje Özellik Sayfaları iletişim kutusunu kapatmak için Tamam'ı seçin.
  6. Ana menüden Derleme Çözümü Oluştur'a>tıklayarak çözümü derleyin.

Beklenen çıkışı ürettiğini doğrulamak için çözümü çalıştırın: 1

Bu yaklaşımı kullanıp kullanmama konusunda dikkate alınacak temel nokta, hangi üst bilgi dosyalarının üst bilgi birimi olarak derleneceğini belirlemek için kolaylık ile tüm dosyalarınızı tarama maliyeti arasındaki dengedir.

Ayrıca bkz.

Üst bilgi birimlerini, modülleri ve önceden derlenmiş üst bilgileri karşılaştırma
Öğretici: Modülleri kullanarak C++ standart kitaplığını içeri aktarma
İzlenecek yol: Visual C++ projelerinizde üst bilgi birimleri oluşturma ve içeri aktarma
/translateInclude