IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

critcl - Online nel cloud

Esegui critcl nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando critcl 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


critcl - Applicazione CriTcl

SINOSSI


critico ?opzione...? ?filetto...?

_________________________________________________________________

DESCRIZIONE


Benvenuti nella C Runtime In Tcl, CriTcl in breve, un sistema per creare pacchetti di estensione C
per Tcl al volo, dal codice C incorporato negli script Tcl, per tutti coloro che desiderano fare
il loro codice va più veloce.

Questo documento è la manpage di riferimento per il critico comando. I suoi destinatari sono
persone che devono creare pacchetti usando critico per la distribuzione. Scrittori di pacchetti con
il codice C incorporato può ignorare questo documento. Se hai bisogno di una panoramica del tutto
sistema invece, vai a leggere il Introduzione A CriTcl.

Questa applicazione risiede nell'Application Layer di CriTcl.

*==================*
|Applicazioni |
| critico |
| critica::app |
*==================*

+ ---------------- +
|Pacchetti principali |
| critico |
| critcl::util |
+ ---------------- +

+ ---------------- +
|Pacchetti di supporto|
| stub::* |
| md5, piattaforma |
| ... |
+ ---------------- +

L'applicazione supporta la seguente riga di comando generale:

critico ?opzione...? ?filetto...?
L'esatto set di opzioni supportate, il loro significato e l'interazione sono dettagliati in
pagina Applicazioni Opzioni sotto. Per una serie più ampia di esempi, vedere la sezione
"Building Critcl Packages" nel documento su utilizzando CriTcl.

APPLICAZIONI VERSIONI


Le seguenti opzioni sono comprese

-v

--versione
Queste opzioni fanno sì che critcl stampi la sua versione su stdout e poi esci.

-I sentiero
Questa opzione specifica un percorso di inclusione globale aggiuntivo da utilizzare durante la compilazione
di ".critcl". Tutti i valori vengono utilizzati se viene specificato più volte.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-L sentiero
Questa opzione specifica un percorso di ricerca della libreria globale aggiuntivo da usare durante il collegamento
di ".critcl". Tutti i valori vengono utilizzati se viene specificato più volte.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-cache sentiero
Questa opzione specifica il percorso della directory da utilizzare come cache dei risultati. Altrimenti
specificato che il valore predefinito è "~/.critcl/", o, quando si genera un pacchetto (vedi
opzione -confezione sotto), a "~/.critcl/.", Quando specificato più volte il
viene utilizzato l'ultimo valore.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-pulito Quando specificato, la cache dei risultati viene svuotata, ovvero tutti i file e le directory trovati
inside vengono cancellati) prima dell'inizio della compilazione.

Questa opzione è irrilevante quando si genera un pacchetto (vedi opzione -confezione sotto) perché
questa modalità inizia con una cache dei risultati univoca e vuota.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-config sentiero
Questa opzione specifica il percorso di un file di configurazione personalizzato, consentendo all'utente di
utilizzare le proprie specifiche di destinazione. Se non è specificato un valore predefinito cablato
viene invece utilizzata la configurazione incorporata nel core del sistema. Quando specificato multiplo
volte che viene utilizzato l'ultimo valore.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-debug modo
Questa opzione attiva la compilazione con il debug. Accetta le modalità sottostanti. quando
specificato più volte viene utilizzata la combinazione di tutte le modalità.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

memoria Questa modalità attiva il debugging della memoria delle allocazioni effettuate tramite il Tcl
nucleo.

simboli
Questa modalità attiva la costruzione di tutti ".c" file con simboli di debug.

contro tutti i Questa modalità attiva entrambi memoria ed simboli.

-disattivare Nome
Questa opzione imposta il valore dell'opzione di configurazione della build personalizzata Nome a falso.
È equivalente a "-con-Nome 0. "

L'informazione è validata solo se uno dei ".critcl" file di input in realtà
definisce e utilizza un'opzione di configurazione di build personalizzata con quella Nome.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-abilitare Nome
Questa opzione imposta il valore dell'opzione di configurazione della build personalizzata Nome a vero.
È equivalente a "-con-Nome 1. "

L'informazione è validata solo se uno dei ".critcl" file di input in realtà
definisce e utilizza un'opzione di configurazione di build personalizzata con quella Nome.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-vigore Quando la compilazione specificata viene sempre eseguita, anche se una libreria condivisa per il file
esiste già. Questo effetto può essere ottenuto pulendo la cache (vedi sopra) come
bene, tranne che è pigro nella distruzione dei file e non distruggerà i file
estranei a quelli che stiamo costruendo.

Questa opzione è irrilevante quando si genera un pacchetto (vedi opzione -confezione sotto) perché
questa modalità inizia con una cache dei risultati univoca e vuota.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-Aiuto Questa opzione farà sì che il sistema stampi un breve aiuto sulla sintassi della riga di comando
e opzioni e quindi uscire dall'applicazione.

-mantenere Questa opzione farà sì che il sistema mantenga il ".c" file generati da un'esecuzione nel
cache dei risultati. Quando si genera un pacchetto (vedi opzione -confezione sotto) questo impedisce anche
l'eliminazione della cache dei risultati univoca utilizzata dalla corsa. Questa opzione è intesa
per il debug di critico stesso, dove potrebbe essere necessario ispezionare il
codice C generato.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-libdir sentiero
Questa opzione specifica il percorso sotto il quale i pacchetti generati tramite opzione -confezione
sono salvati. Specifica anche un percorso in cui cercare le librerie, come for -L. Quando
specificato più volte viene utilizzato l'ultimo valore. Quando non è specificato affatto il
predefinito, "lib", viene utilizzato. Nota come questo è un percorso relativo, inserendo il risultato in
la directory di lavoro corrente.

-incluso dir sentiero
Questa opzione specifica il percorso in cui vengono salvate le intestazioni dei pacchetti generati.
Specifica anche un percorso in cui cercare i file inclusi, come per -I. Quando specificato
più volte l'ultimo valore viene utilizzato come destinazione, tuttavia tutti i valori precedenti
vengono mantenuti nel percorso di ricerca di inclusione. Quando non è specificato affatto il valore predefinito,
"includere", viene utilizzato. Nota come questo è un percorso relativo, inserendo il risultato nel
directory di lavoro corrente.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-confezione La modalità predefinita dell'applicazione consiste nel creare il ".critcl" file elencati sul
riga di comando e salvare i risultati nella cache dei risultati. Essenzialmente pre-riempire il
cache con pacchetti importanti, riducendo il tempo necessario per utilizzarli
Pacchetti.

Questa opzione attiva una delle altre modalità, la generazione del pacchetto. In questa modalità il
i file di input vengono elaborati per primi come di consueto, dopodiché vengono raggruppati in
una singola libreria e file aggiuntivi vengono generati per rendere questa libreria utilizzabile come
un normale pacchetto Tcl.

L'opzione -tè, vedi sotto, richiama l'ultima modalità, generazione TEA. Se entrambe le opzioni,
vale a dire -confezione ed -tè sono specificati l'ultimo specificato vince.

In questa modalità le opzioni -pulito ed -vigore sono irrilevanti e ignorati. In contrasto,
l'opzione -libdir è rilevante sia in questo che in -tè modalità.

Quando questa opzione è specificata il nome di base del primo argomento del file dopo il
options viene utilizzato come nome del pacchetto da generare. Se l'estensione di questo
file indica una libreria condivisa (".così"".sl"".dylib", E". Dll") è altresì
rimosso dall'insieme dei file di input. UN ".tcl" viene mantenuto come parte dell'input. A
si presume che un singolo file senza estensione abbia effettivamente un ".tcl" estensione. A
file senza estensione, ma gli altri file di input che seguono vengono trattati come il nome di
una libreria condivisa propriamente detta e rimossa dall'insieme dei file di input.

Consigli d'uso:
=> Il nome del pacchetto è: foo
=> Il file di input è: foo.tcl
=> Il nome del pacchetto è: foo
=> Il file di input è: bar.tcl
=> Il nome del pacchetto è: foo
=> Il file di input è: foo.tcl
=> Il nome del pacchetto è: foo
=> Il file di input è: bar.tcl

-mostrare Questa opzione, quando specificata, farà sì che il sistema stampi la configurazione di
il target prescelto per stdout e poi esci. La scelta del target può essere influenzata
attraverso l'opzione -bersaglio (vedi sotto).

-mostra tutto
Questa opzione, quando specificata, farà sì che il sistema stampi l'intera scelta
file di configurazione in stdout e poi esci. La scelta del file di configurazione può
essere influenzato attraverso l'opzione -config (vedi sopra).

-bersaglio Nome
Questa opzione sovrascrive la scelta predefinita della destinazione di compilazione con la scelta dell'utente.
Se specificato più volte, viene utilizzato l'ultimo valore. Il target denominato deve esistere
nel file di configurazione scelto. Usa opzione -obiettivi (vedi sotto) per ottenere un elenco di
gli obiettivi accettabili. La scelta del file di configurazione può essere influenzata attraverso
l'opzione -config (vedi sopra).

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sotto).

-obiettivi
Questa opzione, quando specificata, farà sì che il sistema stampi l'elenco di tutti i noti
target dal file di configurazione scelto a stdout e poi esci. La scelta di
il file di configurazione può essere influenzato tramite l'opzione -config (vedi sopra).

-tè Simile all'opzione -confezione, tranne per il fatto che la modalità invocata non genera binari,
ma una gerarchia di directory contenente il ".critcl", i suoi file companion e a
Sistema di compilazione simile a TEA con la maggior parte del codice di supporto necessario (copie incluse)
dei pacchetti critcl).

Se entrambe le opzioni, ad es -confezione ed -tè sono specificati l'ultimo specificato vince.

In questa modalità le opzioni -I, -L, -pulito, -vigore, -cache, -incluso dir, -abilitare,
-disattivaree -con-pippo sono irrilevanti e ignorati. Al contrario, l'opzione -libdir
è rilevante sia in questo che in -confezione modalità.

Quando questa opzione è specificata il nome di base del primo argomento del file dopo il
options viene utilizzato come nome del pacchetto da generare. Se l'estensione di questo
file indica una libreria condivisa (".così"".sl"".dylib", E". Dll") è altresì
rimosso dall'insieme dei file di input. UN ".tcl" viene mantenuto come parte dell'input. A
si presume che un singolo file senza estensione abbia effettivamente un ".tcl" estensione. A
file senza estensione, ma gli altri file di input che seguono vengono trattati come il nome di
una libreria condivisa propriamente detta e rimossa dall'insieme dei file di input.

Consigli d'uso:
=> Il nome del pacchetto è: foo
=> Il file di input è: foo.tcl
=> Il nome del pacchetto è: foo
=> Il file di input è: bar.tcl
=> Il nome del pacchetto è: foo
=> Il file di input è: foo.tcl
=> Il nome del pacchetto è: foo
=> Il file di input è: bar.tcl

-con-nome APPREZZIAMO
Questa opzione imposta il valore dell'opzione di configurazione della build personalizzata Nome a APPREZZIAMO.

L'informazione è validata solo se uno dei ".critcl" file di input in realtà
definisce e utilizza un'opzione di configurazione di build personalizzata con quella Nome.

Questa opzione è irrilevante quando si genera un pacchetto TEA (vedi opzione -tè sopra).

PACCHETTO STRUTTURA


I pacchetti generati da critcl hanno la seguente struttura di base:

+- pkgIndex.tcl
+- critcl-rt.tcl
+- licenza.terms (opzionale)
|
+- tcl (opzionale)
| +-
|
+-
+-

Note

[1] Il file "pkgIndex.tcl" è il file indice del pacchetto standard previsto da Tcl's
gestione del pacchetto. Viene originato durante una ricerca di pacchetti e dichiara il
package in Tcl con i suoi file e come gestirli.

[2] Il file "critcl-rt.tcl" è un file di supporto contenente il codice comune utilizzato da
"pkgIndex.tcl"per svolgere i suoi compiti.

[3] Il file "termini.di licenza" è facoltativo e compare solo se il ".critcl" archivia il
il pacchetto è generato dall'uso del comando critcl::licenza dichiarare il pacchetto
autore e licenza.

[4] Tutti i file dichiarati con il comando critcl::tsources vengono inseriti nella sottodirectory
"tcl".

[5] La libreria condivisa generata da critcl viene inserita in un sub-
directory.

L'intera struttura, e soprattutto l'ultimo punto, ci consentono di unire successivamente i risultati
(per lo stesso pacchetto e versione) per più piattaforme di destinazione in un'unica directory
struttura senza conflitti, semplicemente copiando le directory principali l'una sull'altra. Il
solo i file che possono entrare in conflitto sono nel e "tcl" directory, e per queste noi
sapere che sono identici tra i target. Il risultato di una tale fusione sarebbe simile a:

+- pkgIndex.tcl
+- critcl-rt.tcl
+- licenza.terms (opzionale)
|
+- tcl (opzionale)
| +-
|
+-
| +-
+-
| +-
+-
+-

MODIFICHE PER VERSIONE 2.1


[1] Risolto bug dove critcl::tsources interpretati i percorsi relativi come relativi al
directory di lavoro corrente invece che relativa alla ".critcl" file utilizzando il
comando, come fanno tutti gli altri comandi di questo tipo.

[2] Interni fissi, impedendo le informazioni raccolte per più ".critcl" file in
perdita tra di loro. In particolare, critica::tk non è un'opzione di configurazione globale
più.

[3] Corretto il comando critcl::licenza essere un'operazione nulla in modalità "compila ed esegui",
invece di lanciare un errore.

[4] Risolto il problema con l'interferenza dell'applicazione critcl con la cache dei risultati "compila ed esegui"
in -confezione modalità facendogli utilizzare un completamente separato (e per impostazione predefinita transitorio)
directory per quella modalità.

[5] Risolto bug in cui le modifiche a un ".critcl" il file non ha provocato una ricostruzione per la modalità
"compila ed esegui". Tutti i comandi API pertinenti ora assicurano le modifiche all'UUID.

[6] Risolto bug nella gestione del backend di critica::debug dove il compagno c-fonti di
un ".critcl" non sono stati compilati con le opzioni di debug, sebbene il ".critcl" file
era.

[7] Risolto bug in critica::debug che impediva il riconoscimento della modalità "tutti" quando era
non è il primo argomento del comando.

[8] Risolto bug in "precarico.c" impedendone la compilazione su piattaforme non Windows.

[9] Risolto bug di vecchia data nella gestione dei qualificatori dello spazio dei nomi nel nome del comando
argomento di critcl::cproc ed critcl::command. È ora possibile specificare a
nome di comando completo senza problemi.

[10] Esteso/rielaborato critcl::tsources essere il modo canonico di dichiarare ".tcl"
file companion anche per la modalità "compila ed esegui".

[11] Esteso/rielaborato critcl::tsources consentire l'utilizzo di un ".critcl"file come proprio
File compagno Tcl.

[12] Esteso critica::framework per controllare internamente la destinazione di build di OS X e ignorare
la dichiarazione se non lo è.

[13] Esteso critcl::fallito essere richiamabile più di una volta in un ".critcl" file. Il
prima chiamata forza la build, se non è già stata eseguita, per ottenere il risultato. Ulteriore
le chiamate restituiscono il risultato memorizzato nella cache della prima chiamata.

[14] Estesa la gestione della variabile d'ambiente CC nel codice che determina il
compilatore da utilizzare per gestire (cioè rimuovere) i percorsi del compilatore, file del compilatore
estensioni e opzioni del compilatore specificate dopo il compilatore stesso, lasciando solo
il semplice nome del compilatore.

[15] Esteso il codice che gestisce la ricerca delle librerie precaricate per stamparne i percorsi
ricercato, semplificando il debug di un errore di ricerca.

[16] Un nuovo comando critcl::tcl può essere usato per dichiarare minimamente la versione di Tcl
necessario per costruire ed eseguire il ".critcl" file e pacchetto. In caso contrario, il valore predefinito è 8.4
dichiarato. Critcl esteso per avere gli stub e gli header per tutti i Tcl 8.4, 8.5,
e 8.6.

[17] Un nuovo comando critcl::carica forza la costruzione e il carico di un ".critcl" file. Questo è
il modo ufficiale per sovrascrivere lo schema lazy-build-&-load-on-demand predefinito di critcl
per la modalità "compila ed esegui".

Note: che dopo aver usato critcl::carica / critcl::fallito in un ".critcl" file non lo è
possibile utilizzare più i comandi critcl in quel file. In questo modo verrà generato un errore.

[18] Estesa la generazione di pragma '#line' da utilizzare info telaio (se disponibile) a
fornire al compilatore C i numeri di riga esatti nel ".critcl" file per il
segnalazione di avvisi ed errori.

[19] Esteso critcl::verifica con la registrazione per aiutare con il debug dei controlli in fase di compilazione del
ambiente, più un argomento opzionale aggiuntivo per fornire l'etichettatura.

[20] Aggiunto un nuovo comando critcl::link di controllo che non solo cerca di controllare l'ambiente
tramite la compilazione del codice, ma anche la sua collegabilità.

[21] Aggiunto un nuovo comando critica::msg per la messaggistica, come il comando critcl::errore è per
segnalazione errori. Allo stesso modo, questo è un hook che è consentito a un utente del pacchetto
oltrepassare. L'implementazione predefinita, utilizzata da mode compilare & eseguire il non fa nulla. Il
implementazione per la modalità generare pacchetto stampa il messaggio su stdout.

L'uso previsto è per la rendicontazione dei risultati determinati da critcl::verifica ed
critcl::link di controllo durante la costruzione, per aiutare con il debug quando qualcosa va storto
con un assegno.

[22] Esposto l'argomento che elabora gli interni di critica::proc ad uso di avanzati
utenti. I nuovi comandi sono

, critcl::argnami

, critcl::argcnames

, critcl::argcsignature

, critcl::argvardecls

, critcl::argconversion

Si prega di vedere la sezione Tecnologia Embedded C Code della critico documentazione del pacchetto per
dettagli.

[23] Esteso il pacchetto critcl per intercettare pacchetto fornire e registra il file ->
mappatura del nome del pacchetto. Inoltre, altre modifiche interne ora consentono l'uso di namespaced
i nomi dei pacchetti mentre si utilizzano ancora i nomi di percorso corretti e la funzione init.

[24] Eliminati i comandi inutilizzati critcl::ottimizzare ed critcl::includi.

[25] Caduto -LIB modalità dall'applicazione critcl.

[26] Eliminati i resti del supporto per Tcl 8.3 e precedenti.

MODIFICHE PER VERSIONE 3


[1] Il comando critcl::piattaforma è stato deprecato nella versione 2.1, sostituito da
critcl::targetplatform, ma conservata per compatibilità. Ora è stato rimosso.

[2] Il comando critcl::compilato è stato mantenuto nella versione 2.1 con semantica in
contraddizione al suo, per compatibilità. Questa contraddizione è stata rimossa,
cambiando la semantica visibile del comando per essere in linea con il suo nome.

[3] Il passaggio alla versione 3 si è reso necessario a causa delle due incompatibilità visibili
modifiche sopra.

[4] Esteso il pacchetto dell'applicazione con il codice che gestisce una nuova opzione -tè. Specificando
questa opzione invoca una modalità speciale in cui critcl genera un pacchetto TEA, cioè avvolge
l'input in una gerarchia di directory e file di supporto che lo forniscono TEA-
sistema di costruzione simile.

Questa nuova opzione e -confezione, escludersi a vicenda. Se vengono specificati entrambi, l'ultimo utilizzato
l'opzione ha la precedenza.

La gerarchia di directory del pacchetto generata è per lo più autonoma, ma non completamente.
Richiede non solo un'installazione funzionante di Tcl, ma anche installazioni funzionanti
dei pacchetti md5 ed cmdline. Entrambi sono forniti dal Tcllib fascio.
Non richiesti, ma consigliati per l'installazione sono uno dei pacchetti che possono
accelerare l'operazione di md5, ie criptokit, tclibc, o tr.

[5] Esteso il pacchetto critcl con un nuovo comando critcl::scansione prendendo il sentiero per a
".critcl", scansionarlo staticamente e restituire la licenza, la versione, un elenco di
i suoi file companion, l'elenco delle API importate e l'elenco delle personalizzazioni specificate dallo sviluppatore
opzioni di configurazione. Questi dati sono la base per l'avvolgimento TEA descritto
sopra.

Nota che questo è un statico scansione. Mentre le altre modalità di compilazione possono (devono) eseguire il
".critcl" archiviare e prendere decisioni specifiche della piattaforma riguardo al codice C assemblato,
file companion, ecc. la modalità wrap TEA non è in grado di rendere platform-
decisioni specifiche. Deve avvolgere tutto ciò che potrebbe essere concepibilmente necessario
quando effettivamente si costruisce. Da qui la scansione statica. Questo ha tuttavia il suo set di
problemi, vale a dire l'incapacità di capire qualsiasi costruzione dinamica del compagno
percorsi di file, almeno da solo. Così:

[6] Estesa l'API utilizzata dai pacchetti basati su critcl con il comando critcl::possiede. Mentre
questo comando viene ignorato dalle normali modalità di compilazione descritte dallo scanner statico
sopra prende i suoi argomenti come i nomi dei file companion che devono essere avvolti
nel pacchetto TEA e non potrebbe essere capito dallo scanner altrimenti, come
a causa di percorsi dinamici per critcl::tsources, critcl::csources, ottenendo origine
direttamente o semplicemente come file di dati aggiuntivi.

[7] Estesa l'API utilizzata dai pacchetti basati su critcl con il comando critica::api per l'
gestione delle tabelle stub, sia esso il loro utilizzo, e/o la dichiarazione e l'esportazione.

Si prega di vedere la sezione stubs Table Management della critico documentazione del pacchetto per
dettagli.

[8] Estesa l'API utilizzata dai pacchetti basati su critcl con il comando critcl::userconfig
per la gestione delle opzioni di configurazione personalizzate specificate dallo sviluppatore, siano esse le loro
uso e/o dichiarazione.

Si prega di vedere la sezione Custom Costruire Configurazione della critico documentazione del pacchetto
per i dettagli.

[9] Estesa l'API utilizzata dai pacchetti basati su critcl con i comandi
critcl::descrizione, critcl::sommario, critcl::soggetto, critica::metae
critcl::buildrequirement per la dichiarazione dei metadati TEApot per/sul
pacchetto.

Si prega di vedere la sezione CONFEZIONE Meta Dati della critico documentazione del pacchetto per
dettagli.

MODIFICHE PER VERSIONE 3.0.1


[1] Correzioni di bug ovunque. In dettaglio:

[2] Risolto il problema con la registrazione dei requisiti della versione Tcl. Mantieni il nome e la versione del pacchetto
insieme, separando i metadati generati e il comando di caricamento del pacchetto generato.

[3] Corretti gli script di build: durante l'installazione o il wrapping per TEA, genera eventuali mancanti
directory

[4] Modificati gli script di compilazione per uscire correttamente dall'applicazione quando la finestra di
la loro GUI viene chiusa tramite il pulsante (X).

[5] Rimosso un 8.5-ism (open wb) che era scivolato nello script di build principale.

[6] Modificato gli script di build di esempio per separare l'output per i diversi
esempi (e pacchetti) aggiungendo righe vuote.

[7] stack::c bugfix di esempio: include le dichiarazioni API da utilizzare nei file companion.

[8] Ampliata la documentazione: rilevata la necessità di un'installazione funzionante di un C
compilatore.

[9] Estese le definizioni e il codice di destinazione di Windows per gestire i file manifest utilizzati
dai moderni ambienti di sviluppo MS. Nota che questo codice gestisce entrambi
possibilità, ambiente che utilizza manifest e (vecchio (più)) ambienti senza.

[10] Estese le definizioni e il codice di destinazione di Windows a 64 bit per rilevare automaticamente la necessità di
la libreria di supporto "bufferoverflowU.lib" e riconfigurare la compilazione e il collegamento
comandi in modo appropriato. Partiamo dal presupposto che la libreria deve essere collegata quando presente.
Questo non dovrebbe essere dannoso se la biblioteca è presente, ma non necessaria. Solo superfluo.
Cerchiamo la libreria nei percorsi specificati dalla variabile d'ambiente LIB.

MODIFICHE PER VERSIONE 3.0.2


[1] Risolto problema in modalità di compilazione ed esecuzione in cui i comandi inseriti nell'auto_index non lo sono
trovato dal comando [sconosciuto] di Tcl.

[2] Risolto un problema di mancata corrispondenza della chiave dell'array che interrompeva l'utilizzo dei dati del client e la funzione di eliminazione per
procedura. Segnalato da Jos DeCoster, con patch.

[3] Implementata un'opzione della riga di comando -L, un equivalente di opzione -I, solo per la biblioteca
percorsi di ricerca.

[4] Risolti i problemi 5 e 8 di github. Lavorare attorno a una variabile mancante ::errorInfo. Esso
dovrebbe essere sempre presente, tuttavia sembrano esserci revisioni di Tcl attorno alle quali
violare questo presupposto.

MODIFICHE PER VERSIONE 3.0.3


[1] Risolti i problemi 5 e 8 di github, per gli script di esempio build.tcl. Lavorando intorno a
variabile mancante ::errorInfo. Dovrebbe essere sempre presente, tuttavia sembra che ci sia
revisioni di Tcl attorno alle quali violano questo presupposto.

MODIFICHE PER VERSIONE 3.0.4


[1] Risolto il problema con la generazione del nome init del pacchetto quando il codice in entrata viene letto da
stdin e non ha un percorso corretto.

[2] Risolto problema github 11. Ora utilizzo /LIBPATH invece di -L su Windows (libinclude
impostazione di configurazione).

[3] Critcl esteso per gestire il formato -l:path delle opzioni -l. GNU ld 2.22+ gestisce questo
cercando il percorso così com'è. Buono quando si specificano librerie statiche, come semplice -l
cerca le librerie condivise in preferenza rispetto a quelle statiche. critcl lo gestisce ora, come
i vecchi GNU ld non lo capiscono, né i vari linker specifici del fornitore.

[4] Risolto problema github n. 12. Critcl ora determina la versione di MSVC in uso e utilizza
it per passare tra le varie opzioni di debug del collegamento. Semplificata la gestione di
bufferoverflowU.lib anche, facendo uso dello stesso meccanismo e comprimendo i due
sezioni di configurazioni che avevamo di nuovo in una.

[5] Rielaborato l'inserimento dei pragma #line nel codice C generato per evitare
limitazioni sull'argomento del numero di riga imposte da vari compilatori ed essere di più
accurate.

[6] Elaborazione degli argomenti modificata. L'opzione -libdir ora implica anche -L per il suo argomento.

[7] Gestione estesa dell'opzione -show (critcl::showconfig) per elencare il percorso del
file di configurazione da cui provengono i dati. Buono per il debug della configurazione
trattamento.

[8] Esteso lo script di compilazione con obiettivi per rigenerare la documentazione incorporata,
e diagrammi e per generare un rilascio.

MODIFICHE PER VERSIONE 3.0.5


[1] Risolto bug nel nuovo codice per i pragma #line attivati ​​quando si specificava il codice C
senza spazi bianchi iniziali.

[2] Estesa la documentazione per avere pagine man per la licenza, recupero dei sorgenti,
installatore e guide per sviluppatori.

MODIFICHE PER VERSIONE 3.0.6


[1] Risolto il problema con github 10. L'applicazione critcl ora fornisce un codice di uscita corretto (1)
in caso di errore di compilazione, invece di indicare sempre il successo (stato 0).

[2] Risolto il problema con github 13. La gestione di bufferoverflowU.lib per le build di rilascio era
incoerente con la gestione delle build di debug. Ora è gestito in modo identico
(condizionale) in entrambi i casi.

[3] Pulizia della documentazione, principalmente nella guida all'installazione, e il README.md mostrato da
github

MODIFICHE PER VERSIONE 3.0.7


[1] Corretto il codice generato da critcl::c++comando. Il codice emesso ha consegnato un non-
tabella di stringhe statiche a Tcl_GetIndexFromObj, in violazione del contratto, che
richiede che la tabella abbia un indirizzo fisso. Questo è stato un colpo di memoria in attesa di
accadere. Grazie a Brian Griffin per averci segnalato il problema generale.

MODIFICHE PER VERSIONE 3.1


[1] Aggiunto un nuovo pacchetto di livello superiore critcl::iassoc.

Questo pacchetto semplifica la creazione di codice associando i dati con un interprete
tramite Tcl's Tcl_(Get|Set)AsocData() API. L'utente può concentrarsi sui suoi dati mentre
tutto il codice C standard necessario per supportare questo viene generato dal pacchetto.

Questo pacchetto utilizza molte delle nuove funzionalità che sono state aggiunte al core critico
pacchetto, vedi sotto.

[2] Aggiunto il pacchetto di livello superiore critica::classe.

Questo pacchetto semplifica la creazione di oggetti di livello C con classe e istanza
comandi. L'utente può scrivere una definizione di classe con variabili di classe e di istanza
e -metodi simili a una classe TclOO, con tutto il codice C standard necessario per
supportare questo generato dal pacchetto.

Questo pacchetto utilizza molte delle nuove funzionalità che sono state aggiunte al core critico
pacchetto, vedi sotto.

[3] Esteso l'API per la gestione dei metadati TEApot. Aggiunto il comando critica::meta? a
interrogare le informazioni memorizzate. L'uso principale attualmente previsto è il recupero del
il nome del pacchetto corrente tramite i comandi di utilità, da utilizzare nei nomi costruiti. Questo
informazioni particolari sono sempre disponibili grazie alla scansione statica del pacco
file all'esecuzione del primo comando critcl.

I nuovi pacchetti critcl::iassoc ed critica::classe (vedi sopra) sono utenti di questo
comando.

[4] Esteso l'API con un comando, critcl::nome2c, esponendo il processo di conversione
un nome Tcl in nome di base, spazio dei nomi e spazio dei nomi C. Ciò consente un livello superiore
generatori di codice per generare lo stesso tipo di identificatori C di critico stessa.

Il nuovo pacchetto critica::classe (vedi sopra) è un utente di questo comando.

[5] Esteso l'API con un comando, critcl::sorgente, eseguendo i comandi critcl trovati in
un file separato nel contesto del file corrente. Ciò consente una gestione più semplice
di corpi di codice più grandi in quanto consente all'utente di suddividerli in parti più facili da
digerire pezzi più piccoli senza causare la generazione di più pacchetti.

[6] In relazione all'elemento precedente, ha esteso l'API con comandi per deviare la raccolta
del codice C generato in memoria. Ciò semplifica l'uso dei comandi per
codice C incorporato in generatori di codice di livello superiore.

Vedi la sezione Avanzato: Deviazioni per i dettagli dei comandi forniti.

Il nuovo pacchetto critica::classe (vedi sopra) è un utente di queste strutture.

[7] Esteso l'API con comandi che aiutano gli sviluppatori con la generazione del corretto C
#linea direttive. Ciò consente ai generatori di codice di livello superiore di generare e inserire
le proprie direttive, assicurandosi che gli errori di compilazione nel loro codice siano corretti
attribuito.

Vedi la sezione Avanzato: Dove gestione per i dettagli dei comandi forniti.

I nuovi pacchetti critcl::iassoc ed critica::classe (vedi sopra) sono utenti di questi
.

[8] Esteso l'API con comandi che danno agli utenti la possibilità di definire argomenti personalizzati
e tipi di risultato per ::critcl::cproc.

Vedi la sezione Avanzato: Estensione cproc per i dettagli dei comandi forniti.

MODIFICHE PER VERSIONE 3.1.1


[1] Correzioni di bug ovunque. In dettaglio:

[2] Corretta la generazione di errori #args errati per critcl::cproc e codice derivato
(critica::classe metodi basati su cproc). Usa NULL se non ci sono argomenti e prendi
conto della compensazione.

[3] Risolto il problema con la gestione dei nomi dei pacchetti di critica::classe. Dimenticato che possono contenere
separatori dello spazio dei nomi. Passato alla versione 1.0.1.

[4] Esteso a critica::classe messaggio di errore generato nella creazione dell'istanza per chiarezza.
Passato alla versione 1.0.2.

MODIFICHE PER VERSIONE 3.1.2


[1] Miglioramento. In dettaglio:

[2] Esteso critcl::cproc essere in grado di gestire argomenti facoltativi, in modo limitato.
Questo è automaticamente disponibile per critica::classe anche metodi basati su cproc.

[3] Correzione di bug lassegnare emulazione per Tcl 8.4. Imposta correttamente le variabili inutilizzate su
stringa vuota. Versione urtata del pacchetto di emulazione lassegna84 a 1.0.1.

MODIFICHE PER VERSIONE 3.1.3


[1] Miglioramento. In dettaglio:

[2] Aggiunto nuovo tipo di argomento "pstring", per "Pascal String", una stringa conteggiata, ovvero a
combinazione di puntatore di stringa e lunghezza di stringa.

[3] Aggiunti nuovi metodi critcl::argtypesupport ed ::critcl::argsupport definire e utilizzare
codice di supporto aggiuntivo per un tipo di argomento, qui usato da "pstring" sopra per
definire la struttura necessaria.

[4] Semi-bugfix nei pacchetti critica::classe ed critcl::iassoc. Pragma per l'AS
scanner di metadati per garantire che i file modello siano inclusi nel pacchetto.
Le versioni sono passate rispettivamente a 1.0.4 e 1.0.1.

MODIFICHE PER VERSIONE 3.1.4


[1] Bugfix nel pacchetto critica::classe. Genera un campo fittizio nella struttura della classe se
la classe non ha variabili di classe. Senza questa modifica la struttura sarebbe vuota,
e un certo numero di compilatori non sono in grado di gestire un tale tipo.

[2] Risolto un errore di battitura che interrompeva la configurazione di win64.

[3] Risolto il problema #16, un errore di battitura nella documentazione del comando critica::classe.

MODIFICHE PER VERSIONE 3.1.5


[1] Risolto problema #19. Creata l'espressione regolare estraendo il numero di versione di MSVC
più in generale per farlo funzionare sui sistemi di lingua tedesca. Questo potrebbe essere
rivisitato in futuro, per altre versioni locali di Windows.

[2] Risolto problema #20. Opzione -tea fatta funzionare su Windows, almeno in un'emulazione unix
ambiente come msys/mingw.

MODIFICHE PER VERSIONE 3.1.6


[1] Risolto il problema n. 21. Mentre la multi-definizione delle variabili del puntatore della tabella stub era
ok con tutti i linker C visti finora Ai linker C++ non è piaciuto affatto.
Rielaborato il codice per garantire che questo insieme di variabili venga generato solo una volta, in
l'involucro attorno a tutti i pezzi da assemblare.

[2] Risolto il problema n. 22, la gestione degli argomenti dell'identificatore di comando di
critcl::command, critcl::cproce critcl::cdata. Ora consentiamo correttamente qualsiasi Tcl
identificatore e generare da essi identificatori C interni appropriati.

Come parte di questo la firma del comando critcl::nome2c cambiato. Il comando adesso
fornisce un elenco di quattro valori anziché tre. Il nuovo valore è stato aggiunto al
fine.

Ha ulteriormente adattato l'implementazione del pacchetto critica::classe, un utente di
critcl::nome2c. Questo pacchetto è ora alla versione 1.0.6 e richiede critcl 3.1.6

Infine risolto l'errata gestione dell'opzione -cnome in critcl::commande
critcl::cproc.

[3] Risolto problema #23.

MODIFICHE PER VERSIONE 3.1.7


[1] Risolto problema #24. Estrarre e visualizzare incondizionatamente gli avvisi del compilatore trovati nel
costruire il registro. Impedisce agli utenti di perdere avvisi che, pur non causando la build
fallire, può ancora indicare problemi.

[2] Nuova funzionalità. Gancio di uscita. Tutto l'output dell'utente senza messaggi viene ora instradato attraverso il
command critcl::stampae gli utenti possono sovrascriverlo quando usano il critcl
applicazione-come-pacchetto.

[3] Nuovo articolo, di Ashok P. Nadkarni. Le configurazioni della piattaforma possono ereditare i valori da
configurazioni definite prima di loro.

MODIFICHE PER VERSIONE 3.1.8


[1] Risolto problema con gli indici dei pacchetti generati per Tcl 8.4. Unisciti alla lista dei comandi
con punto e virgola, non newline.

[2] Risolto il problema n. 26 che sollevava casi d'uso che avevo dimenticato di considerare durante la correzione
bug #21 (vedi critcl 3.1.6).

MODIFICHE PER VERSIONE 3.1.9


[1] Risolto il problema n. 27. Aggiunte definizioni di piattaforma mancanti per vari Linux alternativi e
Obiettivi OS X.

[2] Risolto problema #28. Aggiunti flag -mXX mancanti per il collegamento su linux-{32,64}-*
obiettivi.

[3] Risolto il problema #29. Sostituito l'uso di informazioni grezze "cheader" nell'elaborazione
di "cdefines" con le direttive include appropriate derivate da esso.

[4] Risolto il problema alla base della richiesta pull respinta n. 30 di Andrew Shadura. dinamicamente
estrarre le dichiarazioni delle variabili stub dai file di intestazione Tcl e generare
corrispondenti definizioni delle variabili da utilizzare nel codice del pacchetto. Il codice generato sarà
ora sii sempre coerente con le intestazioni, anche quando la loro copia di critcl è
sostituito da intestazioni di sistema.

[5] Risolto problema #31. Patch accettata da Andrew Shadura, con modifiche (commenti), per
integrazione più semplice di critcl con i sistemi di pacchetti del sistema operativo, sostituendo le copie di critcl di
Intestazioni Tcl con le proprie.

[6] Risolto il problema #32. Richiesta pull unita da Andrew Shadura. Vari errori di battitura in
documentazione e commenti.

[7] Risolto problema #33. Gestisci meglio i file che iniziano con un punto.

AUTORI


Jean Claude Wippler, Steve Landers, Andreas Kupries

Usa critcl online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    Zabbix
    Zabbix
    Zabbix è un open di classe enterprise
    soluzione di monitoraggio distribuito alla fonte
    progettato per monitorare e tracciare
    prestazioni e disponibilità della rete
    server, dispositivo...
    Scarica Zabbix
  • 2
    KDiff3
    KDiff3
    Questo repository non è più mantenuto
    ed è conservata a scopo di archivio. Vedere
    https://invent.kde.org/sdk/kdiff3 for
    il codice più recente e
    https://download.kde.o...
    Scarica KDiff3
  • 3
    USB LoaderGX
    USB LoaderGX
    USBLoaderGX è una GUI per
    Caricatore USB di Waninkoko, basato su
    libwiigui. Consente la quotazione e
    lancio di giochi Wii, giochi Gamecube e
    homebrew su Wii e WiiU...
    Scarica USBLoaderGX
  • 4
    Firebird
    Firebird
    Firebird RDBMS offre funzionalità ANSI SQL
    e funziona su Linux, Windows e
    diverse piattaforme Unix. Caratteristiche
    concorrenza e prestazioni eccellenti
    & potenza...
    Scarica l'uccello di fuoco
  • 5
    KompoZer
    KompoZer
    KompoZer è un editor HTML wysiwyg che utilizza
    la base di codice di Mozilla Composer. Come
    Lo sviluppo di Nvu è stato interrotto
    nel 2005, KompoZer risolve molti bug e
    aggiunge una f...
    Scarica KompoZer
  • 6
    Downloader di manga gratuito
    Downloader di manga gratuito
    Il Free Manga Downloader (FMD) è un
    applicazione open source scritta
    Object-Pascal per la gestione e
    scaricare manga da vari siti web.
    Questo è uno specchio...
    Scarica il downloader manga gratuito
  • Di Più "

Comandi Linux

Ad