IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

ccache-swig2.0 - Online nel cloud

Esegui ccache-swig2.0 nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando ccache-swig2.0 che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


ccache-swig: una cache veloce del compilatore

SINOSSI


ccache-swig [OPZIONE]

ccache-swig [OPZIONI DEL COMPILATORE]

[OPZIONI DEL COMPILATORE]

DESCRIZIONE


ccache-swig è una cache del compilatore. Accelera la ricompilazione del codice C/C++/SWIG mediante la memorizzazione nella cache
compilazioni precedenti e rilevamento quando la stessa compilazione viene eseguita nuovamente. ccache-swig è
ccache più supporto per SWIG. ccache e ccache-swig sono usati in modo intercambiabile in questo
documento.

VERSIONI SOMMARIO


Ecco un riepilogo delle opzioni per ccache-swig.

-s mostra il riepilogo delle statistiche
-z zero statistiche
-c esegue una pulizia della cache
-C svuota completamente la cache
-F imposta il numero massimo di file nella cache
-M imposta la dimensione massima della cache (usa G, M o K)
-h questa pagina di aiuto
-V numero di versione di stampa

VERSIONI


Queste opzioni si applicano solo quando si richiama ccache come "ccache-swig". Quando invocato come a
compilatore nessuna di queste opzioni è applicabile. In tal caso si applicano le normali opzioni del compilatore e
dovresti fare riferimento alla documentazione del tuo compilatore.

-h Stampa una pagina di riepilogo delle opzioni

-s Stampa il riepilogo delle statistiche correnti per la cache. Le statistiche vengono archiviate
distribuiti nelle sottodirectory della cache. L'uso di "ccache-swig -s" aggiunge il file
statistiche in tutte le sottodirectory e stampa i totali.

-z Azzerare le statistiche della cache.

-V Stampa il numero di versione di ccache

-c Pulisci la cache e ricalcola il conteggio dei file della cache e le dimensioni totali. Normalmente il
L'opzione -c non dovrebbe essere necessaria poiché ccache mantiene la cache al di sotto del valore specificato
limiti in fase di esecuzione e mantiene aggiornate le statistiche su ogni compilazione. Questa opzione è
utile soprattutto se si modifica manualmente il contenuto della cache o si ritiene che il file cache
le statistiche sulle dimensioni potrebbero essere imprecise.

-C Svuota l'intera cache, rimuovendo tutti i file memorizzati nella cache.

-F
Imposta il numero massimo di file consentiti nella cache. Il valore viene memorizzato
all'interno della directory della cache e si applica a tutte le compilazioni future. A causa del modo in cui
valore viene memorizzato, il valore effettivo utilizzato viene sempre arrotondato per difetto al più vicino
multiplo di 16.

-M
Imposta la dimensione massima della cache. È possibile specificare un valore in gigabyte, megabyte
o kilobyte aggiungendo una G, M o K al valore. Il valore predefinito è gigabyte. IL
il valore effettivo memorizzato viene arrotondato per difetto al multiplo di 16 kilobyte più vicino.

MONTAGGIO


Esistono due modi per utilizzare ccache. Puoi prefissare i comandi di compilazione con
"ccache-swig" oppure puoi creare un collegamento simbolico tra ccache-swig e i nomi dei tuoi
compilatori. Il primo metodo è più conveniente se vuoi semplicemente provare ccache o wish
per utilizzarlo per alcuni progetti specifici. Il secondo metodo è più utile quando lo desideri
per usare ccache per tutte le tue compilazioni.

Per installarlo per l'utilizzo con il primo metodo, copia semplicemente ccache-swig da qualche parte nel tuo percorso.

Per installare il secondo metodo, procedi in questo modo:

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

Funzionerà finché / Usr / local / bin viene prima del percorso di gcc (che di solito è in
/ Usr / bin). Dopo l'installazione potresti voler eseguire "quale gcc" per assicurarti che sia corretto
viene utilizzato il collegamento.

Nota! Non utilizzare un collegamento reale, utilizzare un collegamento simbolico. Un collegamento fisico causerà "interessante"
problemi.

EXTRA VERSIONI


Quando viene eseguito come compilatore front-end, ccache di solito accetta solo le stesse opzioni della riga di comando
come compilatore che stai utilizzando. L'unica eccezione è l'opzione '--ccache-skip'.
Questa opzione può essere utilizzata per dire a ccache che l'opzione successiva non è sicuramente un input
nomefile e dovrebbe essere passato al compilatore così com'è.

Il motivo per cui questo può essere importante è che ccache ha bisogno di analizzare la riga di comando e
determinare cos'è un nome file di input e cos'è un'opzione del compilatore, poiché ha bisogno dell'input
filename per determinare il nome del file oggetto risultante (tra le altre cose). Il
euristico che ccache utilizza in questa analisi è che qualsiasi stringa sulla riga di comando che esiste come
un file viene trattato come un nome di file di input (solitamente un file C). Usando --ccache-skip puoi farlo
forza un'opzione a non essere trattata come un nome di file di input e invece a essere passata al file
compilatore come opzione della riga di comando.

AMBIENTE VARIABILI


ccache utilizza una serie di variabili di ambiente per controllare il funzionamento. Nella maggior parte dei casi tu
non avrà bisogno di nessuno di questi poiché le impostazioni predefinite andranno bene.

CCACHE_DIR
la variabile d'ambiente CCACHE_DIR specifica dove ccache manterrà i suoi contenuti nella cache
output del compilatore. Il valore predefinito è "$HOME/.ccache".

CCACHE_TEMPDIR
la variabile d'ambiente CCACHE_TEMPDIR specifica dove ccache metterà il temporaneo
File. Il valore predefinito è lo stesso di CCACHE_DIR. Tieni presente che il percorso CCACHE_TEMPDIR
deve trovarsi sullo stesso file system del percorso CCACHE_DIR, in modo che i file vengano rinominati
tra le due directory può funzionare.

CCACHE_LOGFILE
Se imposti la variabile d'ambiente CCACHE_LOGFILE, ccache scriverà del log
informazioni sugli accessi e i mancati riscontri nella cache in quel file. Questo è utile per rintracciare
problemi.

CCACHE_VERBOSE
Se imposti la variabile d'ambiente CCACHE_VERBOSE, ccache verrà visualizzato
stdout tutte le invocazioni del compilatore effettuate. Questo può essere utile per il debug
problemi imprevisti.

CCACHE_PATH
Facoltativamente è possibile impostare CCACHE_PATH su un percorso separato da due punti in cui verrà visualizzato ccache
per i veri compilatori. Se non lo fai, ccache cercherà il primo
eseguibile che corrisponde al nome del compilatore nel PATH normale che non è un collegamento simbolico
per ccache stesso.

CCACHE_CC
Facoltativamente è possibile impostare CCACHE_CC per forzare l'utilizzo del nome del compilatore. Se tu
non farlo, ccache risolverà il problema dalla riga di comando.

CCACHE_PREFIX
Questa opzione aggiunge un prefisso alla riga di comando che ccache esegue quando si richiama il file
compilatore. Vedi anche la sezione seguente sull'uso di ccache con distcc.

CCACHE_DISABLE
Se imposti la variabile d'ambiente CCACHE_DISABLE, ccache chiamerà semplicemente il file
vero compilatore, bypassando completamente la cache.

CCACHE_READONLY
la variabile d'ambiente CCACHE_READONLY dice a ccache di tentare di utilizzare esistente
file oggetto memorizzati nella cache, ma non per provare ad aggiungere qualcosa di nuovo alla cache. Se sei
usando questo perché CCACHE_DIR è di sola lettura, potresti scoprire che anche tu
è necessario impostare CCACHE_TEMPDIR altrimenti ccache non riuscirà a creare il file temporaneo
File.

CCACHE_CPP2
Se imposti la variabile d'ambiente CCACHE_CPP2, ccache non utilizzerà il file
ottimizzazione per evitare la seconda chiamata al preprocessore compilando il file
output preelaborato utilizzato per trovare l'hash nel caso di una cache
mancare. Questa è principalmente un'opzione di debug, anche se è possibile che alcuni
compilatori insoliti avranno problemi con le estensioni intermedie dei nomi di file utilizzate
in questa ottimizzazione, nel qual caso questa opzione potrebbe consentire l'utilizzo di ccache.

CCACHE_NOCOMPRESS
Se imposti la variabile d'ambiente CCACHE_NOCOMPRESS non c'è compressione
utilizzato sui file che vanno nella cache. Tuttavia, questa impostazione non ha alcun effetto sul come
i file vengono recuperati dalla cache, i risultati compressi saranno comunque utilizzabili.

CCACHE_NOSTATS
Se imposti la variabile d'ambiente CCACHE_NOSTATS, ccache non aggiornerà il file
file statistici su ogni compilazione.

CCACHE_NLEVELS
La variabile d'ambiente CCACHE_NLEVELS consente di scegliere il numero di livelli
di hash nella directory della cache. Il valore predefinito è 2. Il minimo è 1 e il massimo
è 8.

CCACHE_HARDLINK
Se imposti la variabile d'ambiente CCACHE_HARDLINK, ccache tenterà di utilizzare
collegamenti reali dalla directory della cache durante la creazione dell'output del compilatore anziché
utilizzando una copia di file. L'uso degli hard link è più veloce, ma può confondere programmi come "make"
che si basano su tempi di modifica. I collegamenti fisici non vengono mai realizzati per la cache compressa
File.

CCACHE_RECACHE
Ciò forza ccache a non utilizzare alcun risultato memorizzato nella cache, anche se li trova. Nuovo
i risultati vengono ancora memorizzati nella cache, ma le voci della cache esistenti vengono ignorate.

CCACHE_UMASK
Imposta l'umask per ccache e tutti i processi figli (come il compilatore). Questo
è utile soprattutto quando desideri condividere la cache con altri utenti. Tieni presente che questo
influisce anche sui permessi dei file impostati sui file oggetto creati dal tuo
compilazioni.

CCACHE_HASHDIR
Questo dice a ccache di eseguire l'hashing della directory di lavoro corrente durante il calcolo dell'hash
che viene utilizzato per distinguere due compilazioni. Ciò impedisce un problema con l'archiviazione
della directory di lavoro corrente nelle informazioni di debug di un file oggetto, che può portare
ccache per fornire un file oggetto memorizzato nella cache che ha la directory di lavoro nel file debug
informazioni impostate in modo errato. Questa opzione è disattivata per impostazione predefinita perché è l'impostazione errata di
queste informazioni di debug raramente causano problemi. Se riscontri problemi con il mancato utilizzo di gdb
la directory corretta quindi abilitare questa opzione.

CCACHE_UNIFICA
Se imposti la variabile di ambiente CCACHE_UNIFY, ccache utilizzerà C/C++
unificatore quando si esegue l'hashing dell'output del preprocessore se -g non viene utilizzato nella compilazione. IL
unifier è più lento di un normale hash, quindi l'impostazione di questa variabile di ambiente perde a
un po' di velocità, ma significa che ccache può trarre vantaggio dalla mancata ricompilazione
quando le modifiche al codice sorgente consistono solo nella riformattazione. Tieni presente che utilizzando
CCACHE_UNIFY modifica l'hash, quindi le compilazioni memorizzate nella cache con CCACHE_UNIFY impostato non possono essere
utilizzato quando CCACHE_UNIFY non è impostato e viceversa. Il motivo per cui l'unificatore è spento
l'impostazione predefinita è che può fornire informazioni errate sul numero di riga nell'avviso del compilatore
messaggi.

CCACHE_ESTENSIONE
Normalmente ccache tenta di determinare automaticamente l'estensione da utilizzare
file intermedi del preprocessore C in base al tipo di file da compilare.
Sfortunatamente questo a volte non funziona, ad esempio quando si utilizza il compilatore acc
su HP-UX. Su sistemi come questo puoi utilizzare l'opzione CCACHE_EXTENSION per eseguire l'override
il predefinito. Su HP-UX impostare questa variabile di ambiente su "i" se si utilizza acc
compilatore.

CCACHE_STRIPC
Se imposti la variabile d'ambiente CCACHE_STRIPC allora ccache rimuoverà il -c
opzione quando si richiama il preprocessore. Questa opzione è principalmente per il sole
Compilatore C++ Workshop poiché senza questa opzione viene visualizzato un avviso ingiustificato:
CC: Attenzione: "-E" ridefinisce il prodotto da "oggetto" a "sorgente (stdout)" quando -E e
-c è usato insieme.

CCACHE_SWIG
Quando si utilizza SWIG come compilatore e non è presente "swig" nel nome dell'eseguibile,
quindi la variabile d'ambiente CCACHE_SWIG deve essere impostata affinché ccache possa
funzionare correttamente con SWIG. L'uso di CCACHE_CPP2 è consigliato anche per SWIG due
a causa di alcune peculiarità del preprocessore, tuttavia, l'uso di CCACHE_CPP2 può spesso essere saltato --
controlla il codice generato con e senza questa opzione impostata. I problemi noti sono
utilizzando le direttive del preprocessore all'interno dei blocchi %inline e l'uso di '#pragma SWIG'.

CACHE TAGLIA MANAGEMENT


Per impostazione predefinita, ccache ha un limite di un gigabyte per la dimensione della cache e nessun numero massimo di
File. Puoi impostare un limite diverso utilizzando le opzioni "ccache -M" e "ccache -F", che
impostare i limiti di dimensione e numero di file.

Quando questi limiti vengono raggiunti, ccache ridurrà la cache al 20% al di sotto dei numeri che hai
specificato per evitare di eseguire l'operazione di pulizia della cache troppo spesso.

CACHE COMPRESSIONE


Per impostazione predefinita, sulla maggior parte delle piattaforme ccache comprimerà tutti i file che inserisce nella cache utilizzando
la compressione zlib. Sebbene ciò comporti un rallentamento delle prestazioni trascurabile, esso
aumenta significativamente il numero di file che rientrano nella cache. Puoi spegnere
compressione impostando la variabile d'ambiente CCACHE_NOCOMPRESS.

COME IT OPERE


L'idea di base è rilevare quando si sta compilando esattamente lo stesso codice una seconda volta e
utilizzare l'output precedentemente compilato. Rilevi che si tratta dello stesso codice formando un hash
di:

o l'output del preprocessore eseguendo il compilatore con -E

o le opzioni della riga di comando

o la dimensione reale dei compilatori e il tempo di modifica

o qualsiasi output stderr generato dal compilatore

Questi vengono sottoposti ad hashing utilizzando md4 (un hash forte) e viene formato un file di cache in base a tale hash
risultato. Quando la stessa compilazione viene eseguita una seconda volta ccache è in grado di fornire il file
corretto output del compilatore (inclusi tutti gli avvisi, ecc.) dalla cache.

ccache è stato scritto con cura per produrre sempre esattamente lo stesso output del compilatore che
otterresti senza la cache. Se mai scoprissi un caso in cui ccache modifica il file
output del tuo compilatore, per favore fammi sapere.

UTILIZZO CCACHE CON DISTCC


distcc è un programma molto utile per distribuire la compilazione su una vasta gamma di compilatori
server. Spesso è utile combinare distcc con ccache, in modo che la compilazione venga completata
sono velocizzati da distcc, ma ccache evita completamente la compilazione ove possibile.

Per utilizzare distcc con ccache consiglio di utilizzare l'opzione CCACHE_PREFIX. Devi solo impostare
la variabile d'ambiente CCACHE_PREFIX in 'distcc' e ccache aggiungerà il prefisso alla riga di comando
utilizzato con il compilatore con il comando 'distcc'.

CONDIVISIONE A CACHE


Un gruppo di sviluppatori può aumentare il tasso di riscontro della cache condividendo una directory della cache. IL
i collegamenti reali tuttavia causano effetti collaterali indesiderati, poiché tutti i collegamenti a un file memorizzato nella cache condividono il file
timestamp di modifica del file. Ciò si traduce in false dipendenze da cui attivare
sistemi di compilazione basati su timestamp ogni volta che un altro utente si collega a un file esistente. Tipicamente,
gli utenti vedranno che le loro librerie e i loro file binari vengono ricollegati senza motivo. Per condividere un
cache senza effetti collaterali, devono essere soddisfatte le seguenti condizioni:

o Utilizzare lo stesso CCACHE_DIR impostazione della variabile d'ambiente

o Disimpostare il CCACHE_HARDLINK variabile d'ambiente

o Assicurati che tutti impostino la variabile di ambiente CCACHE_UMASK su 002, questo garantisce
che i file memorizzati nella cache siano accessibili a tutti nel gruppo.

o Assicurarsi che tutti gli utenti dispongano dell'autorizzazione di scrittura nell'intera directory della cache (e
di cui ti fidi di tutti gli utenti della cache condivisa).

o Assicurarsi che il bit setgid sia impostato su tutte le directory nella cache. Questo dice
il filesystem per ereditare la proprietà del gruppo per le nuove directory. Il comando "chmod
g+s `find $CCACHE_DIR -type d`" potrebbe essere utile a questo scopo.

o Imposta CCACHE_NOCOMPRESS per tutti gli utenti, se sono presenti utenti con versioni di ccache
che non supportano la compressione.

STORIA


ccache è stato ispirato dallo script di shell compilercache scritto da Erik Thiele e I
vorrei ringraziarlo per l'eccellente lavoro. Vedere
http://www.erikyyy.de/compilercache/ per le sceneggiature di Erik. ccache-swig è un porto di
ccache originale con supporto aggiunto per l'uso con SWIG.

Ho scritto ccache perché volevo ottenere un po' più di velocità dalla cache del compilatore e io
volevo rimuovere alcune limitazioni della versione con script di shell.

DIFFERENZE DA COMPILERCACHE


Le maggiori differenze tra lo script compilercache di Erik e ccache sono:

o ccache è scritto in C, il che lo rende un po' più veloce (richiamando external
programmi è principalmente ciò che ha rallentato gli script).

o ccache può trovare automaticamente il vero compilatore

o ccache mantiene le statistiche sugli hit/miss

o ccache può eseguire la gestione automatica della cache

o ccache può memorizzare nella cache l'output del compilatore che include avvisi. In molti casi questo dà
ccache un tasso di riscontri nella cache molto più elevato.

o ccache può gestire una gamma molto più ampia di opzioni del compilatore

o ccache evita una doppia chiamata a cpp in caso di cache miss

CREDITS


Grazie alle seguenti persone per il loro contributo a ccache

o Erik Thiele per lo script originale del compilercache

o Luciano Rocha per l'idea di compilare l'output del preprocessore per evitare un 2° cpp
passare

o Paul Russell per i molti suggerimenti e per il pacchetto Debian

Utilizza ccache-swig2.0 online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    MSYS2
    MSYS2
    MSYS2 è una raccolta di strumenti e
    biblioteche che ti forniscono un
    ambiente di facile utilizzo per la costruzione,
    installazione ed esecuzione di Windows nativo
    Software. Con...
    Scarica MSYS2
  • 2
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo è un codec di immagine JPEG
    che utilizza istruzioni SIMD (MMX, SSE2,
    NEON, AltiVec) per accelerare la linea di base
    Compressione e decompressione JPEG attiva
    x86, x8...
    Scarica libjpeg-turbo
  • 3
    Xtreme Download Manager
    Xtreme Download Manager
    Il progetto ha ora una nuova casa:
    https://xtremedownloadmanager.com/ For
    sviluppatori:
    https://github.com/subhra74/xdm Xtreme
    Download Manager è un potente strumento per...
    Scarica Xtreme Download Manager
  • 4
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Caratteristiche:4:3 e 16:9 a bassa risoluzione
    Uscita VGATastiera e mouse PS/2
    interfaccia utente basata su inputText (TUI)
    con dialog manager Partial Unicode
    supportoSlave dis...
    Scarica TTGO VGA32 Lite
  • 5
    Bootloader EFI Clover
    Bootloader EFI Clover
    Il progetto si è spostato in
    https://github.com/CloverHackyColor/CloverBootloader..
    Caratteristiche: Avvia macOS, Windows e Linux
    in modalità UEFI o legacy su Mac o PC con
    UE...
    Scarica il bootloader Clover EFI
  • 6
    rpm uniti
    rpm uniti
    Unisciti a noi in Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Abilita il repository URPMS nel tuo
    sistema -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Scarica unitedrpms
  • Di Più "

Comandi Linux

Ad