İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

clang-3.5 - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında clang-3.5 çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen clang-3.5 komutudur.

Program:

ADI


clang - Clang C, C++ ve Objective-C derleyicisi

SİNOPSİS


çınlama [-c|-S|-E] -std=standart -g
[-O0|-O1|-O2|-O3|-Ofast|-İşletim sistemi|-oz|-O|-O4]
-Wuyarılar... - bilgiçlik
-Iyön... -Lyön...
-Dmakro[=tanım]
-fözellik-seçenek...
-mmakine seçeneği...
-o çıktı dosyası
-stdlib=kütüphane
girdi-dosya isimleri

TANIM


çınlama ön işleme, ayrıştırma,
optimizasyon, kod oluşturma, birleştirme ve bağlama. Hangi yüksek seviye moduna bağlı olarak
ayar geçilirse, tam bir bağlantı yapmadan önce Clang duracaktır. Clang yüksek düzeyde iken
entegre, derleme aşamalarını anlamak, nasıl yapılacağını anlamak önemlidir.
onu çağır. Bu aşamalar:

Sürücü
The çınlama yürütülebilir dosya aslında genel yürütmeyi kontrol eden küçük bir sürücüdür
derleyici, derleyici ve bağlayıcı gibi diğer araçlardan. Tipik olarak ihtiyacınız yok
sürücüyle etkileşime geçmek için, ancak diğer araçları çalıştırmak için şeffaf bir şekilde kullanıyorsunuz.

Ön İşleme
Bu aşama, giriş kaynak dosyasının simgeleştirilmesini, makro genişletmeyi, #include
diğer önişlemci yönergelerinin genişletilmesi ve işlenmesi. Bu aşamanın çıktısı
genellikle ".i" (C için), ".ii" (C++ için), ".mi" (Objective-C için) veya ".mii" olarak adlandırılır
(Objective-C++ için) dosyası.

ayrıştırma ve anlamsal Analiz
Bu aşama girdi dosyasını ayrıştırarak önişlemci belirteçlerini bir ayrıştırma ağacına çevirir.
Ayrıştırıcı ağaç biçiminde olduğunda, türlerini hesaplamak için anlamsal analiz uygular.
ifadeleri de ve kodun iyi biçimlendirilmiş olup olmadığını belirleyin. Bu aşama
ayrıştırma hatalarının yanı sıra derleyici uyarılarının çoğunu oluşturmaktan sorumludur. NS
bu aşamanın çıktısı bir "Özet Sözdizimi Ağacı"dır (AST).

Kod nesil ve Optimizasyon
Bu aşama, bir AST'yi düşük seviyeli ara koda ("LLVM IR" olarak bilinir) çevirir ve
sonuçta makine koduna. Bu aşama, oluşturulan verilerin optimize edilmesinden sorumludur.
kod ve hedefe özel kod oluşturma işleme. Bu aşamanın çıktısı
genellikle ".s" dosyası veya "derleme" dosyası olarak adlandırılır.

Clang ayrıca, kod oluşturucunun bulunduğu entegre bir montajcının kullanımını da destekler.
doğrudan nesne dosyaları üretir. Bu, ".s" dosyasını oluşturma ek yükünü ortadan kaldırır
ve hedef birleştiriciyi çağırmak.

montajcı
Bu aşama hedef derleyiciyi çalıştırarak derleyicinin çıktısını bir
hedef nesne dosyası. Bu aşamanın çıktısına genellikle ".o" dosyası denir veya
"nesne" dosyası.

bağlantılar
Bu aşama, birden çok nesne dosyasını bir yürütülebilir dosyada birleştirmek için hedef bağlayıcıyı çalıştırır veya
dinamik kitaplık. Bu aşamanın çıktısına genellikle "a.out", ".dylib" veya
".so" dosyası.

Clang derleyicisi, bu aşamaların her birini kontrol etmek için çok sayıda seçeneği destekler. İçinde
Kod derlemesine ek olarak, Clang diğer araçları da destekler:

çınlama Statik analizör

Clang Static Analyzer, kaynak kodunu tarayarak hataları bulmaya çalışan bir araçtır.
kod analizi. Bu araç, Clang'ın birçok bölümünü kullanır ve aynı sürücüde yerleşiktir.
Bakınızhttp://clang-analyzer.llvm.org> statikin nasıl kullanılacağı hakkında daha fazla ayrıntı için
analizör.

SEÇENEKLER


Aşama seçim Opsiyonlar
-E Önişlemci aşamasını çalıştırın.

-fsyntax-yalnızca
Önişlemci, ayrıştırıcı ve tip kontrol aşamalarını çalıştırın.

-S LLVM oluşturma ve optimizasyon aşamalarının yanı sıra önceki aşamaları çalıştırın ve hedef-
özel kod üretimi, bir derleme dosyası üretir.

-c Bir hedef ".o" nesne dosyası oluşturarak yukarıdakilerin hepsini ve montajcıyı çalıştırın.

yok hayır sahne seçim seçenek
Aşama seçimi seçeneği belirtilmemişse, yukarıdaki tüm aşamalar çalıştırılır ve bağlayıcı
sonuçları yürütülebilir veya paylaşılan bir kitaplıkta birleştirmek için çalıştırın.

Dil seçim ve Moda Opsiyonlar
-x dil
Sonraki girdi dosyalarını türe sahip olarak ele alın dil.

-std=dil
Derlenecek dil standardını belirtin.

-stdlib=kütüphane
Kullanılacak C++ standart kitaplığını belirtin; desteklenen seçenekler libstdc++ ve libc++'dır.

-ansi
Aynısı -std = c89.

-ObjC++
Kaynak girdi dosyalarına Objective-C++ girdileri gibi davranın.

-ObjC
Kaynak girdi dosyalarına Objective-C girdileri gibi davranın.

-trigraflar
Trigrafları etkinleştirin.

-bağımsız
Dosyanın barındırılan değil, bağımsız olarak derlenmesi gerektiğini belirtin,
ortamı.

-fno-yerleşik
strlen ve gibi yerleşik işlevlerin özel işlenmesini ve optimizasyonlarını devre dışı bırakın
alışveriş merkezi

-fmath-hata
Matematik işlevlerinin errno güncellemesi olarak ele alınması gerektiğini belirtin.

-fpascal-dizeleri
"\pfoo" ile Pascal stili dizeler için desteği etkinleştirin.

-fms-uzantıları
Microsoft uzantıları için desteği etkinleştirin.

-fmsc sürümü=
_MSC_VER'ı ayarlayın. Windows'ta varsayılan olarak 1300'dür. Aksi ayarlanmaz.

-fborland-uzantıları
Borland uzantıları için desteği etkinleştirin.

-f yazılabilir dizeler
Tüm dize değişmezlerini varsayılan olarak yazılabilir yapın. Bu, dizelerin benzersizliğini devre dışı bırakır ve
diğer optimizasyonlar.

-keten-vektör-dönüşümleri
Örtük vektör dönüşümleri için gevşek tip denetimi kurallarına izin verin.

-fblock'lar
"Bloklar" dil özelliğini etkinleştirin.

-fobjc-gc-yalnızca
Objective-C kodunun yalnızca çalışan GC modunda derlenmesi gerektiğini belirtin
Objective-C Çöp Toplama etkinleştirildiğinde.

-fobjc-gc
Objective-C kodunun, aşağıdakilerle çalışan hybrid-GC modunda derlenmesi gerektiğini belirtin.
hem GC hem de GC olmayan mod.

-fobjc-abi-versiyonu=versiyon
Kullanılacak Objective-C ABI sürümünü seçin. Mevcut sürümler 1'dir (eski "kırılgan"
ABI), 2 (kırılgan olmayan ABI 1) ve 3 (kırılgan olmayan ABI 2).

-fobjc-kırılgan olmayan-abi-sürüm=versiyon
Varsayılan olarak kullanılacak Objective-C kırılgan olmayan ABI sürümünü seçin. Bu sadece olacak
kırılgan olmayan ABI etkinleştirildiğinde (ya aracılığıyla) Objective-C ABI olarak kullanılır
-fobjc-nonfragile-abi veya platform varsayılanı olduğu için).

-fobjc-kırılgan olmayan-abi
Objective-C kırılgan olmayan ABI kullanımını etkinleştirin. Bunun olduğu platformlarda
varsayılan ABI ile devre dışı bırakılabilir -fno-objc-kırılgan olmayan-abi.

Hedef seçim Opsiyonlar
Clang, tasarımının doğal bir parçası olarak çapraz derlemeyi tamamen destekler. Bağlı olarak
Clang sürümünüz nasıl yapılandırılırsa, bir dizi çapraz desteği olabilir.
derleyiciler veya yalnızca yerel bir hedefi destekleyebilir.

-ARCH mimari
Oluşturulacak mimariyi belirtin.

-mmacosx-sürüm-min=versiyon
Mac OS X için oluştururken uygulamanız tarafından desteklenen minimum sürümü belirtin.

-miphoneos-sürüm-min
iPhone OS için derlerken, cihazınız tarafından desteklenen minimum sürümü belirtin.
uygulama.

-Mart=cpu
Clang'ın belirli bir işlemci ailesi üyesi için kod oluşturması gerektiğini belirtin ve
sonra. Örneğin, -march=i486'yı belirtirseniz, derleyicinin şunları oluşturmasına izin verilir:
i486 ve sonraki işlemcilerde geçerli olan, ancak
öncekiler.

Kod nesil Opsiyonlar
-O0 -O1 -O2 -O3 -Ofast -İşletim sistemi -oz -O -O4
Hangi optimizasyon düzeyinin kullanılacağını belirtin:

-O0 "Optimizasyon yok" anlamına gelir: bu seviye en hızlı derler ve en çok üretir
hata ayıklanabilir kod.

-O1 Arasında bir yer -O0 ve -O2.

-O2 Çoğu optimizasyonu sağlayan orta düzeyde optimizasyon.

-O3 Facebok sayfasını beğenin : -O2, gerçekleştirmesi daha uzun süren optimizasyonları etkinleştirmesi veya
daha büyük kod üretebilir (programın daha hızlı çalışmasını sağlamak amacıyla).

-Ofast
Tüm optimizasyonları etkinleştirir -O3 diğer agresif optimizasyonlarla birlikte
dil standartlarına sıkı sıkıya uyulmasını ihlal edebilir.

-İşletim sistemi Facebok sayfasını beğenin : -O2 kod boyutunu azaltmak için ekstra optimizasyonlar ile.

-oz Facebok sayfasını beğenin : -İşletim sistemi (ve böylece -O2), ancak kod boyutunu daha da azaltır.

-O Eşittir -O2.

-O4 Ve daha yüksek
Şu anda eşdeğer -O3

-g Hata ayıklama bilgisi oluşturun. Clang hata ayıklama bilgilerinin en iyi şekilde çalıştığını unutmayın. -O0.

-fstandalone-hata ayıklama -fno-bağımsız-hata ayıklama
Clang, içindeki hata ayıklama bilgilerinin boyutunu azaltmak için bir dizi optimizasyonu destekler.
ikili. Hata ayıklama türü bilgilerinin olabileceği varsayımına dayalı olarak çalışırlar.
birden fazla derleme birimine yayılır. Örneğin, Clang türü yaymaz
Bir modül tarafından ihtiyaç duyulmayan ve bir modül ile değiştirilebilecek türler için tanımlar
ileri beyan. Ayrıca, Clang yalnızca dinamik bir C++ sınıfı için tür bilgisi yayar
sınıf için vtable içeren modülde.

The -fstandalone-hata ayıklama seçeneği bu optimizasyonları kapatır. Bu yararlı olduğunda
hata ayıklama bilgileriyle birlikte gelmeyen 3. taraf kitaplıklarla çalışma. bu
Darwin'de varsayılan. Clang'ın, aşağıdaki türler için hiçbir zaman tür bilgisi yaymayacağını unutmayın.
program tarafından hiç referans alınmaz.

-istisnalar
Gevşetme bilgilerinin oluşturulmasını etkinleştirin, bu, istisnaların atılmasına izin verir
Clang derlenmiş yığın çerçeveleri. Bu, x86-64'te varsayılan olarak açıktır.

-ftrapv
Tamsayı taşma hatalarını yakalamak için kod oluşturun. İşaretli tamsayı taşması tanımsız
C'de, bu bayrakla, bunu algılamak için ekstra kod oluşturulur ve iptal edildiğinde
olur.

-görünürlük
Bu bayrak, varsayılan görünürlük seviyesini ayarlar.

-fortak
Bu bayrak, başlatıcıları olmayan değişkenlerin ortak bağlantı aldığını belirtir. Olabilir
ile devre dışı -fno-ortak.

-ftls-modeli
İş parçacığı yerel değişkenleri için kullanılacak varsayılan iş parçacığı yerel depolama (TLS) modelini ayarlayın.
Geçerli değerler şunlardır: "global-dynamic", "local-dynamic", "initial-exec" ve "local-exec".
Varsayılan "küresel dinamik"tir. Varsayılan model şu şekilde geçersiz kılınabilir:
tls_model özniteliği. Derleyici, aşağıdaki durumlarda daha verimli bir model seçmeye çalışacaktır:
mümkün.

-flto -emit-llvm
Bağlantı zamanı optimizasyonu için uygun LLVM formatlarında çıktı dosyaları oluşturun. Kullanıldığında
ile -S bu, LLVM ara dil derleme dosyalarını oluşturur, aksi takdirde bu
LLVM bit kodu biçiminde nesne dosyaları oluşturur (bağlayıcıya iletilebilir
sahne seçim seçeneklerine bağlı olarak).

Sürücü Opsiyonlar
-###
Bu derleme için çalıştırılacak komutları yazdırın (ancak çalıştırmayın).

--yardım et
Kullanılabilir seçenekleri görüntüleyin.

-Qunused-argümanlar
Kullanılmayan sürücü argümanları için uyarı vermeyin.

-WA,args
Virgülle ayrılmış argümanları iletin args montajcıya.

-WI,args
Virgülle ayrılmış argümanları iletin args bağlayıcıya.

-Wp,args
Virgülle ayrılmış argümanları iletin args önişlemciye.

-Xanalizör arg
Geçiş arg statik analizöre.

-X birleştirici arg
Geçiş arg montajcıya.

-Xlinker arg
Geçiş arg bağlayıcıya.

-X önişlemci arg
Geçiş arg önişlemciye.

-o dosya
çıktıyı şuraya yaz: dosya.

-baskı-dosya-adı=dosya
Tam kitaplık yolunu yazdırın dosya.

-print-libgcc-dosya-adı
"libgcc.a" için kitaplık yolunu yazdırın.

-yazdır-prog-adı=isim
Tam program yolunu yazdırın isim.

-baskı-arama-dir'leri
Kitaplıkları ve programları bulmak için kullanılan yolları yazdırın.

-kaydet-temps
Ara derleme sonuçlarını kaydedin.

-entegre-olarak -hayır-entegre-olarak
Entegre birleştiricinin kullanımını sırasıyla etkinleştirmek ve devre dışı bırakmak için kullanılır. İkisinden biri
entegre montajcı varsayılan olarak açıktır, hedefe bağlıdır.

Zamanlı
Zaman bireysel komutları.

-ftime-raporu
Derlemenin her aşamasının zamanlama özetini yazdırın.

-v Ayrıntılı çıktıyı çalıştırmak ve kullanmak için komutları gösterin.

Teşhis Opsiyonlar
-fshow-sütun -fshow-kaynak-konum -fcaret-diagnostik -fdiagnostics-fixit-bilgisi
-fdiagnostics-ayrıştırılabilir-düzeltmeler -fdiagnostics-baskı-kaynak-aralığı-bilgisi
-fprint-kaynak-aralık-bilgisi -fdiagnostics-show-seçeneği -fmessage-uzunluğu
Bu seçenekler, Clang'ın tanılama (hatalar ve
uyarılar). Daha fazla bilgi için lütfen Clang Kullanım Kılavuzuna bakın.

Preprocessor Opsiyonlar
-Dmakroadı=değer
Kaynaktan önce okunan ön tanımlı arabelleğe örtük bir #define ekler
dosya ön işleme tabi tutulur.

-Umakro adı
Kaynaktan önce okunan ön tanımlı arabelleğe örtük bir #undef ekler
dosya ön işleme tabi tutulur.

-Dahil etmek Dosya
Kaynaktan önce okunan ön tanımlı arabelleğe örtük bir #include ekler
dosya ön işleme tabi tutulur.

-Irehber
Dahil edilen dosyalar için arama yoluna belirtilen dizini ekleyin.

-Frehber
Belirtilen dizini çerçeve içerme dosyaları için arama yoluna ekleyin.

-nostdinc
Standart sistem dizinlerinde veya derleyici yerleşik dizinlerinde arama yapmayın.
dosyaları içerir.

-nostdlibinc
Dahil edilen dosyalar için standart sistem dizinlerini aramayın, ancak
derleyici yerleşikleri dizinleri içerir.

-nobuiltininc
Dahil edilen dosyalar için clang'ın yerleşik dizininde arama yapmayın.

ÇEVRE


TMPDIR, TEMP, TMP
Bu ortam değişkenleri, konumun geçici yazması için sırayla kontrol edilir.
Derleme işlemi sırasında kullanılan dosyalar.

CPATH
Bu ortam değişkeni mevcutsa, sınırlanmış bir yol listesi olarak kabul edilir.
varsayılan sisteme eklenecek yol listesi içerir. Sınırlayıcı platformdur
bağımlı sınırlayıcı, kullanıldığı gibi PATH Çevre değişkeni.

Ortam değişkenindeki boş bileşenler yoksayılır.

C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH
Bu ortam değişkenleri, yalnızca CPATH'de olduğu gibi ek yollar belirtir.
uygun dil işlenirken kullanılır.

MACOSX_DEPLOYMENT_TARGET
-mmacosx-version-min belirtilmemişse, varsayılan dağıtım hedefi şuradan okunur:
bu ortam değişkeni. Bu seçenek sadece darwin hedeflerini etkiler.

onworks.net hizmetlerini kullanarak clang-3.5'yı çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

  • 1
    USM
    USM
    Usm, birleşik bir slackware paketidir
    otomatik işleyen yönetici
    bağımlılık çözünürlüğü birleştirir
    dahil olmak üzere çeşitli paket depoları
    gevşek yazılım, gevşek, p...
    usm'yi indir
  • 2
    Chart.js
    Chart.js
    Chart.js, bir Javascript kitaplığıdır.
    tasarımcıların ve geliştiricilerin çizim yapmasına izin verir
    HTML5 kullanan her türlü grafik
    tuval öğesi. Chart js harika bir teklif sunuyor
    dizi ...
    Chart.js'yi indirin
  • 3
    JasperReports için iReport-Designer
    JasperReports için iReport-Designer
    NOT: iReport/Jaspersoft Studio Desteği
    Duyuru: 5.5.0 sürümünden itibaren,
    Jaspersoft Studio resmi olacak
    JasperReports için tasarım istemcisi. bildiriyorum
    niyet...
    JasperReports için iReport-Designer'ı indirin
  • 4
    YükleyiciF
    YükleyiciF
    PostInstallerF tüm
    Fedora Linux ve diğerlerinin kullandığı yazılım
    varsayılan olarak içermez, sonra
    Fedora'yı ilk kez çalıştırıyor. Onun
    için kolay...
    PostInstallerF'i indirin
  • 5
    iz
    iz
    strace projesi şuraya taşındı:
    https://strace.io. strace is a
    teşhis, hata ayıklama ve eğitim
    Linux için kullanıcı alanı izleyicisi. kullanılır
    izlemek için...
    strace'i indir
  • 6
    gMKVÖzetGUI
    gMKVÖzetGUI
    mkvextract yardımcı programı için bir GUI (bir parçası
    MKVToolNix) çoğu içerir (eğer
    tümü değil) mkvextract'ın işlevselliği ve
    mkvinfo yardımcı programları. C#NET 4.0 ile yazılmış...
    gMKVExtractGUI'yi indirin
  • Daha fazla »

Linux komutları

Ad