İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

ccache-swig2.0 - 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 ccache-swig2.0'ı çalıştırın

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

Program:

ADI


ccache-swig - hızlı bir derleyici önbelleği

SİNOPSİS


ccache-swig [SEÇENEK]

ccache-swig [DERLEME SEÇENEKLERİ]

[DERLEME SEÇENEKLERİ]

TANIM


ccache-swig bir derleyici önbelleğidir. Önbelleğe alarak C/C++/SWIG kodunun yeniden derlenmesini hızlandırır
önceki derlemeler ve aynı derlemenin ne zaman tekrar yapıldığını tespit eder. ccache-swig
ccache artı SWIG desteği. ccache ve ccache-swig burada birbirinin yerine kullanılır
belge.

SEÇENEKLER ÖZET


İşte ccache-swig seçeneklerinin bir özeti.

-s istatistik özetini göster
-z sıfır istatistik
-c bir önbellek temizliği çalıştırın
-C önbelleği tamamen temizle
-F önbellekte maksimum dosya ayarla
-M maksimum önbellek boyutunu ayarlayın (G, M veya K kullanın)
-h bu yardım sayfası
-V baskı sürüm numarası

SEÇENEKLER


Bu seçenekler yalnızca ccache'yi "ccache-swig" olarak çağırdığınızda geçerlidir. olarak çağrıldığında
derleyici bu seçeneklerin hiçbiri geçerli değildir. Bu durumda normal derleyici seçenekleriniz geçerlidir ve
derleyici belgelerinize başvurmalısınız.

-h Bir seçenekler özeti sayfası yazdırın

-s Önbellek için geçerli istatistik özetini yazdırın. İstatistikler saklanır
önbelleğin alt dizinlerine yayılır. "ccache-swig -s" kullanmak,
tüm alt dizinlerdeki istatistikler ve toplamları yazdırır.

-z Önbellek istatistiklerini sıfırlayın.

-V ccache sürüm numarasını yazdır

-c Önbelleği temizleyin ve önbellek dosyası sayısını ve boyut toplamlarını yeniden hesaplayın. normalde
-c seçeneği, ccache önbelleği belirtilen değerin altında tuttuğu için gerekli olmamalıdır.
çalışma zamanında sınırlar ve her derlemede istatistikleri güncel tutar. Bu seçenek
önbellek içeriğini manuel olarak değiştirirseniz veya önbelleğin
boyut istatistikleri yanlış olabilir.

-C Önbelleğe alınmış tüm dosyaları kaldırarak tüm önbelleği temizleyin.

-F
Bu, önbellekte izin verilen maksimum dosya sayısını ayarlar. Değer saklanır
önbellek dizininin içindedir ve gelecekteki tüm derlemeler için geçerlidir. Yolu nedeniyle
değer saklanır, kullanılan gerçek değer her zaman en yakın değere yuvarlanır
16'nın katı.

-M
Bu, maksimum önbellek boyutunu ayarlar. Gigabayt, megabayt cinsinden bir değer belirtebilirsiniz
veya değere bir G, M veya K ekleyerek kilobayt. Varsayılan değer gigabayttır. NS
saklanan gerçek değer, 16 kilobaytın en yakın katına yuvarlanır.

MONTAJ


ccache kullanmanın iki yolu vardır. Derleme komutlarınızın önüne şunu koyabilirsiniz:
"ccache-swig" veya ccache-swig ile kullanıcılarınızın adları arasında sembolik bir bağlantı oluşturabilirsiniz.
derleyiciler. İlk yöntem, yalnızca ccache'yi denemek veya dilek dilemek istiyorsanız en uygunudur.
bazı özel projeler için kullanmak için. İkinci yöntem, istediğiniz zaman için en kullanışlıdır.
tüm derlemeleriniz için ccache kullanmak için.

İlk yöntemle kullanım için kurmak için ccache-swig'i yolunuzdaki bir yere kopyalamanız yeterlidir.

İkinci yöntem için yüklemek için şöyle bir şey yapın:

cp ccache-swig / usr / local / bin /
ln -s /usr/yerel/bin/ccache-swig /usr/yerel/bin/gcc
ln -s /usr/yerel/bin/ccache-swig /usr/yerel/bin/g++
ln -s /usr/yerel/bin/ccache-swig /usr/yerel/bin/cc
ln -s /usr/local/bin/ccache-swig /usr/local/bin/swig

Bu sürece çalışacak / Usr / local / bin gcc yolundan önce gelir (genellikle
/ Usr / bin). Kurulumdan sonra, doğru olduğundan emin olmak için "hangi gcc" komutunu çalıştırmak isteyebilirsiniz.
bağlantı kullanılıyor.

Not! Sabit bağlantı kullanmayın, sembolik bir bağlantı kullanın. Bir sabit bağlantı "ilginç" e neden olur
sorunları.

EKSTRA SEÇENEKLER


Derleyici olarak çalıştırıldığında ön uç ccache genellikle aynı komut satırı seçeneklerini alır
kullandığınız derleyici olarak. Bunun tek istisnası '--ccache-skip' seçeneğidir.
Bu seçenek, ccache'ye bir sonraki seçeneğin kesinlikle bir girdi olmadığını söylemek için kullanılabilir.
dosya adıdır ve derleyiciye olduğu gibi iletilmelidir.

Bunun önemli olmasının nedeni, ccache'nin komut satırını ayrıştırması ve
girdi dosya adının ne olduğunu ve girdiye ihtiyaç duyduğu için derleyici seçeneğinin ne olduğunu belirleyin
filename sonuçtaki nesne dosyasının adını belirlemek için (diğer şeylerin yanı sıra). NS
buluşsal ccache bu ayrıştırmada kullanır, komut satırında şu şekilde var olan herhangi bir dizedir.
bir dosya, bir girdi dosyası adı (genellikle bir C dosyası) olarak değerlendirilir. --ccache-skip kullanarak şunları yapabilirsiniz:
bir seçeneği girdi dosyası adı olarak kabul edilmemeye ve bunun yerine
bir komut satırı seçeneği olarak derleyici.

ÇEVRE DEĞİŞKENLER


ccache, işlemi kontrol etmek için bir dizi ortam değişkeni kullanır. çoğu durumda sen
varsayılanlar iyi olacağından bunların hiçbirine ihtiyaç duymaz.

CCACHE_DIR
CCACHE_DIR ortam değişkeni, ccache'nin kendi önbelleğini nerede tutacağını belirtir
derleyici çıktısı. Varsayılan "$HOME/.ccache" şeklindedir.

CCACHE_TEMPDIR
CCACHE_TEMPDIR ortam değişkeni, ccache'nin geçici olarak nereye yerleştirileceğini belirtir
Dosyalar. Varsayılan, CCACHE_DIR ile aynıdır. CCACHE_TEMPDIR yolunun
dosyaların yeniden adlandırılabilmesi için CCACHE_DIR yolu ile aynı dosya sisteminde olmalıdır
iki dizin arasında çalışabilir.

CCACHE_LOGFILE
CCACHE_LOGFILE ortam değişkenini ayarlarsanız, ccache bir miktar günlük yazar
bu dosyadaki önbellek isabetleri ve ıskaları hakkında bilgi. Bu, izini sürmek için kullanışlıdır
sorunları.

CCACHE_VERBOSE
CCACHE_VERBOSE ortam değişkenini ayarlarsanız, ccache üzerinde görüntülenecektir.
stdout'un yaptığı tüm derleyici çağrıları. Bu hata ayıklama için yararlı olabilir
beklenmedik sorunlar

CCACHE_PATH
İsteğe bağlı olarak CCACHE_PATH'yi, ccache'nin bakacağı iki nokta üst üste ayrılmış bir yola ayarlayabilirsiniz.
gerçek derleyiciler için. Bunu yapmazsanız, ccache ilkini arayacaktır.
sembolik bir bağlantı olmayan normal PATH içindeki derleyici adıyla eşleşen yürütülebilir dosya
kendini ccache için.

CCACHE_CC
İsteğe bağlı olarak CCACHE_CC'yi derleyici adını kullanmaya zorlamak için ayarlayabilirsiniz. Eğer sen
bunu yapma, o zaman ccache bunu komut satırından çözer.

CCACHE_PREFIX
Bu seçenek, komut satırı çağrılırken ccache'nin çalıştırdığı komut satırına bir önek ekler.
derleyici. Ayrıca distcc ile ccache kullanımıyla ilgili aşağıdaki bölüme bakın.

CCACHE_DISABLE
CCACHE_DISABLE ortam değişkenini ayarlarsanız, ccache yalnızca
gerçek derleyici, önbelleği tamamen atlayarak.

CCACHE_READONLY
CCACHE_READONLY ortam değişkeni, ccache'ye mevcut olanı kullanmayı denemesini söyler
önbelleğe alınmış nesne dosyaları, ancak önbelleğe yeni bir şey eklemeye çalışmayın. Eğer sen
CCACHE_DIR dosyanız salt okunur olduğundan bunu kullanıyorsanız, o zaman sizin de
CCACHE_TEMPDIR olarak ayarlamanız gerekir, aksi halde ccache geçici oluşturmayı başaramaz
dosyaları.

CCACHE_CPP2
CCACHE_CPP2 ortam değişkenini ayarlarsanız, ccache
ön işlemciye yapılan 2. çağrıdan kaçınmanın optimizasyonu
önbellek durumunda hash'i bulmak için kullanılan önceden işlenmiş çıktı
Özlemek. Bu, öncelikle bir hata ayıklama seçeneğidir, ancak bazılarının
olağandışı derleyiciler, kullanılan ara dosya adı uzantılarıyla ilgili sorunlar yaşayacaktır
bu optimizasyonda, bu durumda bu seçenek ccache'nin kullanılmasına izin verebilir.

CCACHE_NOCOMPRESS
CCACHE_NOCOMPRESS ortam değişkenini ayarlarsanız, sıkıştırma olmaz
önbelleğe giren dosyalarda kullanılır. Ancak, bu ayarın nasıl yapılacağı üzerinde hiçbir etkisi yoktur.
dosyalar önbellekten alınır, sıkıştırılmış sonuçlar yine kullanılabilir.

CCACHE_NOSTATS
CCACHE_NOSTATS ortam değişkenini ayarlarsanız, ccache
her derlemede istatistik dosyaları.

CCACHE_NLEVELS
CCACHE_NLEVELS ortam değişkeni, düzey sayısını seçmenize olanak tanır
önbellek dizinindeki karma. Varsayılan 2'dir. Minimum 1 ve maksimum
8.

CCACHE_HARDLINK
CCACHE_HARDLINK ortam değişkenini ayarlarsanız, ccache kullanmayı dener
yerine derleyici çıktısını oluştururken önbellek dizininden sabit bağlantılar
bir dosya kopyası kullanarak. Sabit bağlantıları kullanmak daha hızlıdır, ancak 'make' gibi programları karıştırabilir
bu değişiklik sürelerine dayanır. Sabit bağlantılar asla sıkıştırılmış önbellek için yapılmaz
dosyaları.

CCACHE_RECACHE
Bu, ccache'yi bulsa bile önbelleğe alınmış sonuçları kullanmamaya zorlar. Yeni
sonuçlar hala önbelleğe alınır, ancak mevcut önbellek girdileri yoksayılır.

CCACHE_UMASK
Bu, ccache ve tüm alt süreçler (derleyici gibi) için umask'ı ayarlar. Bu
genellikle önbelleğinizi diğer kullanıcılarla paylaşmak istediğinizde kullanışlıdır. unutmayın ki bu
ayrıca, bilgisayarınızdan oluşturulan nesne dosyalarında ayarlanan dosya izinlerini de etkiler.
derlemeler.

CCACHE_HASHDIR
Bu, hash hesaplanırken ccache'ye mevcut çalışma dizinini hash etmesini söyler.
iki derlemeyi ayırt etmek için kullanılır. Bu, depolama ile ilgili bir sorunu önler
yol açabilecek bir nesne dosyasının hata ayıklama bilgisindeki geçerli çalışma dizininin
hata ayıklamada çalışma dizinine sahip önbelleğe alınmış bir nesne dosyası vermek için ccache
bilgi yanlış ayarlanmış. Bu seçenek, yanlış ayar olarak varsayılan olarak kapalıdır.
bu hata ayıklama bilgisi nadiren sorunlara neden olur. gdb kullanmama sorunu yaşarsanız
doğru dizini seçin ve ardından bu seçeneği etkinleştirin.

CCACHE_UNIFY
CCACHE_UNIFY ortam değişkenini ayarlarsanız, ccache C/C++
derlemede -g kullanılmıyorsa, ön işlemci çıktısını hash ederken birleştirici. NS
birleştirici normal bir karmadan daha yavaştır, bu nedenle bu ortam değişkeninin ayarlanması
biraz hız, ancak bu, ccache'nin yeniden derlememe avantajından yararlanabileceği anlamına gelir
kaynak kodundaki değişiklikler yalnızca yeniden biçimlendirmeyi içerdiğinde. kullanarak unutmayın
CCACHE_UNIFY hash değerini değiştirir, bu nedenle önbelleğe alınmış CCACHE_UNIFY seti ile derlemeler yapılamaz.
CCACHE_UNIFY ayarlanmadığında kullanılır ve bunun tersi de geçerlidir. Birleştiricinin kapalı olmasının nedeni
varsayılan, derleyici uyarısında yanlış satır numarası bilgisi verebilmesidir.
mesajları.

CCACHE_EXTENSION
Normalde ccache, kullanılacak uzantıyı otomatik olarak belirlemeye çalışır.
derlenmekte olan dosyanın türüne göre ara C ön işlemci dosyaları.
Ne yazık ki bu bazen çalışmaz, örneğin aCC derleyicisini kullanırken
HP-UX'te. Bunun gibi sistemlerde geçersiz kılmak için CCACHE_EXTENSION seçeneğini kullanabilirsiniz.
varsayılan. aCC kullanıyorsanız, HP-UX'te bu ortam değişkenini "i" olarak ayarlayın.
derleyici.

CCACHE_STRIPC
CCACHE_STRIPC ortam değişkenini ayarlarsanız, ccache -c'yi çıkarır
önişlemciyi çağırırken seçenek. Bu seçenek öncelikle Güneş içindir.
Workshop C++ derleyicisi bu seçenek olmadığında, gereksiz bir uyarı görüntülenir:
CC: Uyarı: "-E", -E ve
-c birlikte kullanılır.

CCACHE_SWIG
Derleyici olarak SWIG kullanırken ve yürütülebilir adında 'swig' yoksa,
daha sonra ccache'nin çalışması için CCACHE_SWIG ortam değişkeninin ayarlanması gerekir.
SWIG ile doğru şekilde çalışın. SWIG nedeniyle CCACHE_CPP2 kullanımı da önerilir.
ancak bazı önişlemci tuhaflıklarına göre, CCACHE_CPP2 kullanımı genellikle atlanabilir --
Bu seçenek kümesiyle ve bu seçenek olmadan oluşturulan kodunuzu kontrol edin. Bilinen sorunlar
%inline blokları içinde önişlemci yönergeleri ve '#pragma SWIG' kullanımı.

ÖNBELLEK BOYUT YÖNETİM


Varsayılan olarak, ccache'nin önbellek boyutunda bir gigabayt sınırı vardır ve maksimum sayı yoktur.
Dosyalar. "ccache -M" ve "ccache -F" seçeneklerini kullanarak farklı bir limit belirleyebilirsiniz.
dosya sınırlarının boyutunu ve sayısını ayarlayın.

Bu sınırlara ulaşıldığında, ccache önbelleği, belirlediğiniz sayıların %20 altına indirecektir.
önbellek temizleme işlemini çok sık yapmaktan kaçınmak için belirtilir.

ÖNBELLEK SIKIŞTIRMA


Çoğu platformda varsayılan olarak ccache, önbelleğe koyduğu tüm dosyaları kullanarak sıkıştırır.
zlib sıkıştırması Bu, ihmal edilebilir bir performans yavaşlaması içermekle birlikte,
önbelleğe sığan dosya sayısını önemli ölçüde artırır. kapatabilirsin
CCACHE_NOCOMPRESS ortam değişkenini ayarlayan sıkıştırma.

NASIL IT İŞLERİ


Temel fikir, tam olarak aynı kodu 2. kez ne zaman derlediğinizi tespit etmektir ve
önceden derlenmiş çıktıyı kullanın. Bir hash oluşturarak bunun aynı kod olduğunu tespit edersiniz.
edilmiştir:

o derleyiciyi -E ile çalıştırmanın ön işlemci çıktısı

o komut satırı seçenekleri

o gerçek derleyici boyutu ve değişiklik zamanı

o derleyici tarafından oluşturulan herhangi bir stderr çıktısı

Bunlar, md4 (güçlü bir karma) kullanılarak özetlenir ve bu karmaya dayalı olarak bir önbellek dosyası oluşturulur.
sonuç. Aynı derleme ikinci kez yapıldığında, ccache aşağıdakileri sağlayabilir:
önbellekten derleyici çıktısını (tüm uyarılar vb. dahil) düzeltin.

ccache, her zaman tam olarak aynı derleyici çıktısını üretmek için dikkatlice yazılmıştır.
önbellek olmadan alırsınız. Eğer ccache'nin durumu değiştirdiği bir durum keşfederseniz,
derleyicinizin çıktısı sonra lütfen bana bildirin.

KULLANMA CCACHE İLE MERKEZ


distcc, derlemeyi bir dizi derleyici arasında dağıtmak için çok kullanışlı bir programdır.
sunucular. Distcc'yi ccache ile birleştirmek genellikle yararlıdır, böylece yapılan derlemeler
distcc tarafından hızlandırılır, ancak bu ccache, mümkün olduğunda derlemeyi tamamen önler.

Distcc'yi ccache ile kullanmak için CCACHE_PREFIX seçeneğini kullanmanızı öneririm. Sadece ayarlamanız gerekiyor
CCACHE_PREFIX ortam değişkeni 'distcc' ve ccache olarak komut satırının önüne eklenir
derleyici ile 'distcc' komutuyla kullanılır.

PAYLAŞIMI A ÖNBELLEK


Bir grup geliştirici, bir önbellek dizini paylaşarak önbellek isabet oranını artırabilir. NS
ancak sabit bağlantılar istenmeyen yan etkilere neden olur, çünkü önbelleğe alınmış bir dosyaya olan tüm bağlantılar
dosyanın değişiklik zaman damgası. Bu, yanlış bağımlılıkların tetiklenmesiyle sonuçlanır.
başka bir kullanıcı mevcut bir dosyaya bağlandığında zaman damgası tabanlı yapı sistemleri. Tipik,
kullanıcılar, kitaplıklarının ve ikili dosyalarının sebepsiz yere yeniden bağlandığını görecekler. paylaşmak için
yan etkileri olmayan önbellek için aşağıdaki koşulların karşılanması gerekir:

o Aynısını kullanın CCACHE_DIR ortam değişkeni ayarı

o Ayarı kaldır CCACHE_HARDLINK Çevre değişkeni

o Herkesin CCACHE_UMASK ortam değişkenini 002 olarak ayarladığından emin olun, bu
önbelleğe alınmış dosyalara gruptaki herkes erişebilir.

o Tüm kullanıcıların tüm önbellek dizininde yazma iznine sahip olduğundan emin olun (ve
paylaşılan önbelleğin tüm kullanıcılarına güvendiğinizi).

o Önbellekteki tüm dizinlerde setgid bitinin ayarlandığından emin olun. Bu söyler
yeni dizinler için grup sahipliğini devralacak dosya sistemi. "chmod" komutu
g+s `fid $CCACHE_DIR -type d`" bunun için faydalı olabilir.

o Ayarla CCACHE_NOCOMPRESS tüm kullanıcılar için, ccache sürümlerine sahip kullanıcılar varsa
sıkıştırmayı desteklemez.

TARİHİ


ccache, Erik Thiele ve ben tarafından yazılan compilercache kabuk komut dosyası komut dosyasından esinlenmiştir.
mükemmel bir çalışma için kendisine teşekkür etmek istiyorum. Görmek
http://www.erikyyy.de/compilercache/ Erik'in senaryoları için. ccache-swig bir limandır
SWIG ile kullanım için eklenen destekli orijinal ccache.

Bir derleyici önbelleğinden biraz daha fazla hız almak istediğim için ccache yazdım ve
kabuk betiği sürümünün bazı sınırlamalarını kaldırmak istedi.

FARKLILIKLARI DAN derleyici önbellek


Erik'in compilercache betiği ile ccache arasındaki en büyük farklar şunlardır:

o ccache C ile yazılmıştır, bu da onu biraz daha hızlı hale getirir (harici
programlar çoğunlukla komut dosyalarını yavaşlatan şeydir).

o ccache gerçek derleyiciyi otomatik olarak bulabilir

o ccache isabet/ıskalama istatistiklerini tutar

o ccache otomatik önbellek yönetimi yapabilir

o ccache, uyarılar içeren derleyici çıktısını önbelleğe alabilir. Birçok durumda bu verir
ccache çok daha yüksek bir önbellek isabet oranı.

o ccache çok daha geniş bir derleyici seçeneği yelpazesini işleyebilir

o ccache, bir önbellek kaçırma durumunda cpp'ye yapılan çift çağrıyı önler

KREDİ


Aşağıdaki kişilere ccache'ye katkılarından dolayı teşekkür ederiz.

o Orijinal compilercache betiği için Erik Thiele

o Luciano Rocha, 2. cpp'den kaçınmak için ön işlemci çıktısını derleme fikri için
geçmek

o Birçok öneri ve debian paketi için Paul Russell

onworks.net hizmetlerini kullanarak ccache-swig2.0'ı çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad