Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu komut satırı seçeneği, modül dışarı aktarma ve içeri aktarma işlemlerini listeleyen bir JSON dosyası oluşturmak için kaynak dosyaları ve deyimlerini #include tarar. Derleme sistemi, modüllerin ve üst bilgi birimlerinin derleme sırasını belirlemek için bu bilgileri kullanabilir.
Bu seçenek aşağıdakilerden farklıdır /sourceDependencies :
- Derleyici derlenmiş çıkış üretmez. Derlenmiş kod, modül veya üst bilgi birimi üretilmemiştir. Bunun yerine, dosyalar modül yönergeleri için taranır.
- JSON biçimi, üretilenden
/sourceDependenciesfarklıdır. Seçeneğin/sourceDependenciesCMake gibi diğer derleme araçlarıyla kullanılması amaçlanmıştır. - Çıktı JSON dosyasında içeri aktarılan modüller ve içeri aktarılan üst bilgi birimleri (
.ifcdosyalar) listelenmez çünkü bu seçenek derleme değil proje dosyalarını tarar. Bu nedenle, listelenmesini istediğiniz yerleşik modül veya üst bilgi birimi yoktur. - Yalnızca doğrudan içeri aktarılan modüller veya üst bilgi birimleri listelenir. İçeri aktarılan modüllerin veya üst bilgi birimlerinin bağımlılıklarını listelemez.
- Üst bilgi dosyası bağımlılıkları listelenmez. Diğer bir ifadeyle veya
#include <file>#include "file"bağımlılıklar listelenmez. -
/sourceDependencies:directivesdosyalar oluşturulmadan önce.ifckullanılması amaçlanır. -
/sourceDependenciesderleyicinin belirli bir çeviri birimi için kullanılan , dosyaları,#includesdosyaları vb. gibi.pchtüm dosyaları raporlamasına neden olurken.ifc, belirtilen kaynak dosyayı tarar ve tüm/sourceDependencies:directives [file1]veimportdeyimleriniexportraporlar./sourceDependenciesile/sourceDependencies:directiveskullanılabilir.
Sözdizimi
/sourceDependencies:directives-
/sourceDependencies:directivesDosyaadı
/sourceDependencies:directivesdizin
Bağımsız değişkenler
-
Tek tire sağlanırsa, derleyici kaynak bağımlılıklarını JSON'a stdoutveya derleyici çıktısının yeniden yönlendirildiği konuma yayar.
filename
Derleyici, kaynak bağımlılık çıkışını, göreli veya mutlak bir yol içerebilen belirtilen dosya adına yazar. Dosya yoksa oluşturulur.
directory
Bağımsız değişken bir dizinse, derleyici belirtilen dizinde kaynak bağımlılık dosyaları oluşturur. Dizinin mevcut olması gerekir veya bağımsız değişkeni olarak filenamedeğerlendirilir. Çıkış dosyası adı, eklenen .json uzantıyla birlikte giriş dosyasının tam adını temel alır. Örneğin, derleyiciye sağlanan dosya ise main.cpp, oluşturulan çıkış dosya adı olur main.cpp.json.
Açıklamalar
/sourceDependencies:directives , Visual Studio 2019 sürüm 16.10'dan itibaren kullanılabilir.
(Birden çok işlemle derleme)/MP , bir dizin bağımsız değişkeniyle kullanmanızı /sourceDependencies:directives öneririz. Bu seçenek, derleyici çıkışını her kaynak dosya için ayrı *.module.json bir dosya yapar. Tek bir dosya adı bağımsız değişkeni sağlarsanız, derleyicinin iki örneği çıkış dosyasını aynı anda açmaya çalışabilir ve hataya neden olabilir.
/MP'a çıkış göndermek için /sourceDependencies:directives- ile stdout kullanılması, araya kaydedilen sonuçlara neden olabilir.
Önemli olmayan bir derleyici hatası oluştuğunda, bağımlılık bilgileri yine de çıkış dosyasına yazılır.
Tüm dosya yolları çıkışta mutlak yollar olarak görünür.
Bu anahtar ile /translateIncludekullanılabilir.
Örnekler
Aşağıdaki örnek kod verilmiştir:
//main.cpp:
#include <vector>
import m;
import std;
import <utility>;
import "t.h";
int main() {}
Aşağıdaki komut satırı:
cl /std:c++latest /translateInclude /sourceDependencies:directives output.json main.cpp
şuna benzer bir JSON dosyası output.json oluşturur:
{
"Version":"1.1",
"Data":{
"Source":"C:\\test\\main.cpp",
"ProvidedModule":"",
"ImportedModules":[
"m",
"std"
],
"ImportedHeaderUnits":[
"C:\\...\\utility",
"C:\\...\\vector",
"C:\\test\\t.h"
]
}
}
Kısa olması için, önceki örnekte bildirilen yolları kısaltmak için kullanılır ... . Rapor mutlak yolları içerir. Bildirilen yollar, derleyicinin bağımlılıkları nerede bulduğuna bağlıdır. Sonuçlar beklenmedikse, projenizin ekleme yolu ayarlarını denetlemek isteyebilirsiniz.
ProvidedModule , dışarı aktarılan modül veya modül bölüm adlarını listeler.
Oluşturulmadıkları .ifc için çıkışta hiçbir dosya listelenmez. aksine /sourceDependencies, derleyici belirtildiğinde /sourceDependencies:directives derlenmiş çıkış üretmez, bu nedenle derlenmiş modüller veya üst bilgi birimleri üretilmez.
Visual Studio'da bu derleyici seçeneğini ayarlamak için
Normalde bu seçeneği Visual Studio geliştirme ortamında kendiniz ayarlamamalısınız. Derleme sistemi ayarlar.
Ayrıca bkz.
Modülleri kullanarak C++ standart kitaplığını içeri aktarma
/translateInclude
C++ header-units.json başvurusu
MSVC derleyici seçenekleri
MSVC derleyicisi komut satırı söz dizimi
/scanDependencies (Modül bağımlılıklarını standart biçimde listeleme)
/sourceDependencies (Tüm kaynak düzeyi bağımlılıklarını listele)