AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

critcl - En ligne dans le Cloud

Exécutez critcl dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande critcl qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


critcl - Application CriTcl

SYNOPSIS


critique ?option...? ?filet? ...

_________________________________________________________________

DESCRIPTION


Bienvenue sur C Runtime In Tcl, CriTcl pour faire court, un système pour construire des packages d'extension C
pour Tcl à la volée, à partir de code C intégré dans des scripts Tcl, pour tous ceux qui souhaitent faire
leur code va plus vite.

Ce document est la page de manuel de référence pour le critique commander. Son public cible est
les personnes devant construire des packages en utilisant critique pour le déploiement. Auteurs de packages avec
le code C incorporé peut ignorer ce document. Si vous avez besoin d'un aperçu de l'ensemble
système à la place, veuillez aller lire le Introduction À CriTcl.

Cette application réside dans la couche d'application de CriTcl.

*=================*
|Applications |
| critique |
| critcl :: app |
*=================*

+ ---------------- +
|Forfaits de base |
| critique |
| critique::util |
+ ---------------- +

+ ---------------- +
|Forfaits d'assistance|
| talons ::* |
| md5, plateforme |
| ... |
+ ---------------- +

L'application prend en charge la ligne de commande générale suivante :

critique ?option...? ?filet? ...
L'ensemble exact d'options prises en charge, leur signification et leur interaction sont détaillés dans
Candidature Options au dessous de. Pour un plus grand ensemble d'exemples s'il vous plaît voir la section
"Building Critcl Packages" dans le document sur En utilisant CriTcl.

INSCRIPTION OPTIONS


Les options suivantes sont comprises

-v

--version
Ces options amènent critcl à imprimer sa version sur Stdout puis sortie.

-I chemin
Cette option spécifie un chemin d'inclusion global supplémentaire à utiliser lors de la compilation
des ".critcl". Toutes les valeurs sont utilisées si cela est spécifié plusieurs fois.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-L chemin
Cette option spécifie un chemin de recherche de bibliothèque global supplémentaire à utiliser lors de la liaison
des ".critcl". Toutes les valeurs sont utilisées si cela est spécifié plusieurs fois.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-cache chemin
Cette option spécifie le chemin d'accès au répertoire à utiliser comme cache de résultats. Si non
spécifié, la valeur par défaut est "~/.critcl/", ou, lors de la génération d'un package (voir
option -paquet ci-dessous), à "~/.critcl/.", Lorsqu'il est spécifié plusieurs fois, le
la dernière valeur est utilisée.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-nettoyer Lorsque spécifié, le cache des résultats est vidé, c'est-à-dire tous les fichiers et répertoires trouvés
à l'intérieur sont supprimés) avant le début de la compilation.

Cette option n'a pas d'importance lors de la génération d'un package (voir option -paquet ci-dessous) parce que
ce mode démarre avec un cache de résultats unique et vide.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-config chemin
Cette option spécifie le chemin d'accès à un fichier de configuration personnalisé, permettant à l'utilisateur de
utiliser leurs propres spécifications cibles. Si non spécifié un défaut câblé
la configuration intégrée dans le noyau du système est utilisée à la place. Lorsque spécifié plusieurs
fois la dernière valeur est utilisée.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-déboguer mode
Cette option active la compilation avec débogage. Il accepte les modes ci-dessous. Lorsque
spécifié plusieurs fois, la combinaison de tous les modes est utilisée.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

Mémoire Ce mode active le débogage mémoire des allocations effectuées via le Tcl
au coeur.

symboles
Ce mode active la construction de tous ".c" avec des symboles de débogage.

TOUTE Ce mode active les deux Mémoire ainsi que symboles.

-désactiver prénom
Cette option définit la valeur de l'option de configuration de construction personnalisée prénom à non.
C'est équivalent à "-avec-prénom 0 ».

L'information n'est validée que si l'un des ".critcl" fichiers d'entrée en fait
définit et utilise une option de configuration de construction personnalisée avec cela prénom.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-permettre prénom
Cette option définit la valeur de l'option de configuration de construction personnalisée prénom à oui.
C'est équivalent à "-avec-prénom 1 ».

L'information n'est validée que si l'un des ".critcl" fichiers d'entrée en fait
définit et utilise une option de configuration de construction personnalisée avec cela prénom.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-Obliger Lorsque la compilation spécifiée est toujours effectuée, même si une bibliothèque partagée pour le fichier
existe déjà. Cet effet peut être obtenu en nettoyant le cache (voir ci-dessus) comme
bien, sauf qu'il est paresseux dans la destruction de fichiers et ne détruira pas les fichiers
sans rapport avec ceux que nous construisons.

Cette option n'a pas d'importance lors de la génération d'un package (voir option -paquet ci-dessous) parce que
ce mode démarre avec un cache de résultats unique et vide.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-Aide Cette option entraînera l'impression par le système d'une courte aide sur la syntaxe de la ligne de commande
et options, puis quittez l'application.

-garder Cette option forcera le système à conserver le ".c" les fichiers générés par une exécution dans le
cache de résultat. Lors de la génération d'un package (voir option -paquet ci-dessous) cela empêche également
la suppression du cache de résultat unique utilisé par l'exécution. Cette option est destinée
pour le débogage de critique lui-même, où il peut être nécessaire d'inspecter le
code C généré.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-libdir chemin
Cette option spécifie le chemin sous lequel les packages générés via l'option -paquet
sont sauvegardés. Il spécifie également un chemin pour rechercher des bibliothèques, comme pour -L. Quand
spécifié plusieurs fois, la dernière valeur est utilisée. Lorsqu'il n'est pas spécifié du tout, le
défaut, "lib", est utilisé. Notez qu'il s'agit d'un chemin relatif, plaçant le résultat dans
le répertoire de travail courant.

-includeir chemin
Cette option spécifie le chemin sous lequel les en-têtes de package générés sont enregistrés.
Il spécifie également un chemin dans lequel rechercher les fichiers d'inclusion, comme pour -I. Lorsque spécifié
plusieurs fois la dernière valeur est utilisée comme destination, cependant toutes les valeurs précédentes
sont conservés sur le chemin de recherche d'inclusion. Lorsqu'il n'est pas spécifié du tout par défaut,
"comprendre", est utilisé. Notez qu'il s'agit d'un chemin relatif, plaçant le résultat dans le
répertoire de travail courant.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-paquet Le mode par défaut de l'application est de construire le ".critcl" fichiers répertoriés sur le
ligne de commande et enregistrez les résultats dans le cache des résultats. Essentiellement pré-remplir le
cache avec des packages importants, réduisant le temps nécessaire pour utiliser ces
packages.

Cette option active l'un des autres modes, la génération de packages. Dans ce mode le
les fichiers d'entrée sont d'abord traités comme d'habitude, mais après cela ils sont regroupés dans
une seule bibliothèque et des fichiers supplémentaires sont générés pour rendre cette bibliothèque utilisable comme
un package Tcl standard.

L'option -thé, voir ci-dessous, invoque le dernier mode, la génération TEA. Si les deux options,
à -paquet ainsi que -thé sont spécifiés le dernier spécifié gagne.

Dans ce mode, les options -nettoyer ainsi que -Obliger ne sont pas pertinents et ignorés. En revanche,
l'option -libdir est pertinent à la fois dans ce domaine et -thé mode.

Lorsque cette option est spécifiée, le nom de base du premier argument de fichier après le
options est utilisé comme nom du package à générer. Si l'extension de ce
fichier indique une bibliothèque partagée (".so"".sl"".dylib", Et". Dll") c'est aussi
supprimé de l'ensemble des fichiers d'entrée. UNE ".tcl" est conservé dans le cadre de l'entrée. Un
un seul fichier sans extension est supposé avoir en fait un ".tcl" rallonge. Un
fichier sans extension, mais les autres fichiers d'entrée suivants sont traités comme le nom de
une bibliothèque partagée proprement dite et supprimée de l'ensemble des fichiers d'entrée.

Exemples :
=> Le nom du package est : foo
=> Le fichier d'entrée est : foo.tcl
=> Le nom du package est : foo
=> Le fichier d'entrée est : bar.tcl
=> Le nom du package est : foo
=> Le fichier d'entrée est : foo.tcl
=> Le nom du package est : foo
=> Le fichier d'entrée est : bar.tcl

-spectacle Cette option, lorsqu'elle est spécifiée, entraînera l'impression par le système de la configuration de
la cible choisie pour Stdout puis sortie. Le choix de la cible peut être influencé
par l'option -cible (voir ci-dessous).

-Afficher tout
Cette option, lorsqu'elle est spécifiée, entraînera le système à imprimer l'ensemble choisi
fichier de configuration à Stdout puis sortie. Le choix du fichier de configuration peut
être influencé par l'option -config (voir au dessus).

-cible prénom
Cette option remplace le choix par défaut de la cible de construction par le choix de l'utilisateur.
Lorsqu'elle est spécifiée plusieurs fois, la dernière valeur est utilisée. La cible nommée doit exister
dans le fichier de configuration choisi. Utiliser l'option -cibles (voir ci-dessous) pour obtenir une liste de
les cibles acceptables. Le choix du fichier de configuration peut être influencé par
l'option -config (voir au dessus).

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé ci-dessous).

-cibles
Cette option, lorsqu'elle est spécifiée, entraînera l'impression par le système de la liste de tous les
cibles du fichier de configuration choisi pour Stdout puis sortie. Le choix de
le fichier de configuration peut être influencé par l'option -config (voir au dessus).

-thé Similaire à l'option -paquet, sauf que le mode invoqué ne génère pas de binaires,
mais une hiérarchie de répertoires contenant le ".critcl", ses fichiers compagnons et un
Système de construction ressemblant à TEA avec la plupart du code de support nécessaire (y compris les copies
des packages critcl).

Si les deux options, c'est-à-dire -paquet ainsi que -thé sont spécifiés le dernier spécifié gagne.

Dans ce mode, les options -I, -L, -nettoyer, -Obliger, -cache, -includeir, -permettre,
-désactiveret -avec-FOO ne sont pas pertinents et ignorés. En revanche, l'option -libdir
est pertinent à la fois dans ce domaine et -paquet mode.

Lorsque cette option est spécifiée, le nom de base du premier argument de fichier après le
options est utilisé comme nom du package à générer. Si l'extension de ce
fichier indique une bibliothèque partagée (".so"".sl"".dylib", Et". Dll") c'est aussi
supprimé de l'ensemble des fichiers d'entrée. UNE ".tcl" est conservé dans le cadre de l'entrée. Un
un seul fichier sans extension est supposé avoir en fait un ".tcl" rallonge. Un
fichier sans extension, mais les autres fichiers d'entrée suivants sont traités comme le nom de
une bibliothèque partagée proprement dite et supprimée de l'ensemble des fichiers d'entrée.

Exemples :
=> Le nom du package est : foo
=> Le fichier d'entrée est : foo.tcl
=> Le nom du package est : foo
=> Le fichier d'entrée est : bar.tcl
=> Le nom du package est : foo
=> Le fichier d'entrée est : foo.tcl
=> Le nom du package est : foo
=> Le fichier d'entrée est : bar.tcl

-avec-nom Plus-value
Cette option définit la valeur de l'option de configuration de construction personnalisée prénom à Plus-value.

L'information n'est validée que si l'un des ".critcl" fichiers d'entrée en fait
définit et utilise une option de configuration de construction personnalisée avec cela prénom.

Cette option n'a pas d'importance lors de la génération d'un package TEA (voir option -thé au dessus de).

RANGEMENT STRUCTURE


Les packages générés par critcl ont la structure de base suivante :

+- pkgIndex.tcl
+-critcl-rt.tcl
+- license.terms (facultatif)
|
+- tcl (facultatif)
| +-
|
+-
+-

Notes

[1] Le fichier "pkgIndex.tcl" est le fichier d'index de package standard attendu par Tcl
gestion des colis. Il est sourcé lors d'une recherche de packages, et déclare le
package à Tcl avec ses fichiers, et comment les gérer.

[2] Le fichier "critique-rt.tcl" est un fichier d'aide contenant le code commun utilisé par
"pkgIndex.tcl" pour accomplir ses tâches.

[3] Le fichier "termes de la licence" est facultatif et n'apparaît que si le ".critcl" déposer le
le package est généré à partir de la commande utilisée critcl::licence déclarer le colis
auteur et licence.

[4] Tous les fichiers déclarés avec la commande critcl :: tsources sont placés dans le sous-répertoire
"tcl".

[5] La bibliothèque partagée générée par critcl est placée dans un sous-programme spécifique à la plate-forme.
répertoire.

L'ensemble de la structure, et surtout le dernier point, nous permet de fusionner ultérieurement les résultats
(pour le même package et la même version) pour plusieurs plates-formes cibles dans un seul répertoire
structure sans conflit, en copiant simplement les répertoires supérieurs les uns sur les autres. Les
seuls les fichiers qui peuvent entrer en conflit sont dans le et "tcl", et pour ceux-ci nous
sachez qu'ils sont identiques d'une cible à l'autre. Le résultat d'une telle fusion ressemblerait à :

+- pkgIndex.tcl
+-critcl-rt.tcl
+- license.terms (facultatif)
|
+- tcl (facultatif)
| +-
|
+-
| +-
+-
| +-
+-
+-

CHANGEMENTS POUR VERSION 2.1


[1] Correction d'un bug où critcl :: tsources a interprété les chemins relatifs comme relatifs au
répertoire de travail actuel au lieu de relatif au ".critcl" en utilisant le
commande, comme toutes les autres commandes de ce type le font.

[2] Internes fixes, empêchant les informations collectées pour plusieurs ".critcl" fichiers à
fuite entre eux. Notamment, critcl ::tk n'est pas une option de configuration globale
plus.

[3] Correction de la commande critcl::licence être une opération nulle en mode "compile & run",
au lieu de lancer une erreur.

[4] Correction de l'interférence de l'application critcl avec le cache de résultat "compiler et exécuter"
in -paquet mode en lui faisant utiliser un tout à fait séparé (et par défaut transitoire)
répertoire pour ce mode.

[5] Correction d'un bug où les changements à un ".critcl" le fichier n'a pas abouti à une reconstruction pour le mode
"compiler et exécuter". Toutes les commandes API pertinentes garantissent désormais les modifications de l'UUID.

[6] Correction d'un bug dans la gestion du backend de critcl :: débogage où le compagnon c-sources de
une ".critcl" n'ont pas été compilés avec les options de débogage, bien que le ".critcl" déposer
était.

[7] Correction d'un bug dans critcl :: débogage qui empêchait la reconnaissance du mode "tout" lorsqu'il était
pas le premier argument de la commande.

[8] Correction d'un bug dans "précharger.c" empêchant sa compilation sur des plates-formes autres que Windows.

[9] Correction d'un bug de longue date dans la gestion des qualificateurs d'espace de noms dans le nom de la commande
argument de la critcl ::cproc ainsi que critcl::commande. Il est maintenant possible de spécifier un
nom de commande complet sans problèmes.

[10] étendu/remanié critcl :: tsources être la manière canonique de déclarer ".tcl"
fichiers compagnons même pour le mode "compiler et exécuter".

[11] étendu/remanié critcl :: tsources permettre l'utilisation d'un ".critcl" fichier comme le sien
Fichier compagnon Tcl.

[12] Étendu critcl :: cadre pour vérifier en interne la cible de construction OS X et pour ignorer
la déclaration si ce n'est pas le cas.

[13] Étendu critcl::échoué être appelable plus d'une fois dans un ".critcl". Le
le premier appel force la construction, si ce n'est déjà fait, à obtenir le résultat. Plus loin
les appels renvoient le résultat mis en cache du premier appel.

[14] Extension de la gestion de la variable d'environnement CC dans le code déterminant le
compilateur à utiliser pour gérer (c'est-à-dire supprimer) les chemins vers le compilateur, le fichier du compilateur
extensions et options du compilateur spécifiées après le compilateur lui-même, ne laissant que
le nom nu du compilateur.

[15] Extension du code gérant la recherche de bibliothèques préchargées pour imprimer les chemins qu'il
recherché, facilitant le débogage d'un échec de recherche.

[16] Une nouvelle commande critcl :: tcl peut être utilisé pour déclarer la version de Tcl au minimum
nécessaire pour construire et exécuter le ".critcl" fichier et package. La valeur par défaut est 8.4 sinon
déclaré. critcl étendu pour avoir les stubs et les en-têtes pour tous les Tcl 8.4, 8.5,
et 8.6.

[17] Une nouvelle commande critcl :: charger force la construction et le chargement d'un ".critcl". C'est
le moyen officiel de remplacer le schéma par défaut de lazy-build-&-load-on-demand de critcl
pour le mode "compiler et exécuter".

Notes qu'après avoir utilisé critcl :: charger / critcl::échoué dans un ".critcl" fichier ce n'est pas
possible d'utiliser plus les commandes critcl dans ce fichier. Cela générera une erreur.

[18] Extension de la génération de pragmas '#line' à utiliser info cadre (si disponible) à
fournir au compilateur C les numéros de ligne exacts dans le ".critcl" fichier pour le
signalement des avertissements et des erreurs.

[19] Étendu critcl :: vérifier avec la journalisation pour aider au débogage des vérifications au moment de la construction du
environnement, plus un argument facultatif supplémentaire pour fournir un étiquetage.

[20] Ajout d'une nouvelle commande critique ::checklink qui essaie non seulement de vérifier l'environnement
via la compilation du code, mais aussi sa capacité de liaison.

[21] Ajout d'une nouvelle commande critcl :: msg pour la messagerie, comme la commande critcl::erreur est pour
rapport d'erreur. De même, il s'agit d'un crochet qu'un utilisateur du package est autorisé à utiliser
passer outre. L'implémentation par défaut, utilisée par mode compiler & courir ne fait rien. Les
implémentation pour le mode générer paquet imprime le message sur stdout.

L'utilisation envisagée est pour la communication des résultats déterminés par critcl :: vérifier ainsi que
critique ::checklink pendant la construction, pour aider au débogage en cas de problème
avec un chèque.

[22] Exposé les internes de traitement des arguments de critcl :: proc à l'usage des avancés
utilisateurs. Les nouvelles commandes sont

critcl :: noms d'arguments

critcl :: argcnames

critique::argcsignature

critcl :: argvardecls

critcl :: argconversion

Veuillez consulter la rubrique Avancé Embarqué C Code des critique documentation du paquet pour
détails.

[23] Extension du package critcl pour intercepter paquet fournir et enregistrez le fichier ->
mappage de nom de package. De plus, d'autres modifications internes permettent désormais l'utilisation de namespaced
les noms de package tout en utilisant les noms de chemin et la fonction d'initialisation appropriés.

[24] Suppression des commandes inutilisées critcl :: optimiser ainsi que critcl :: inclure.

[25] Abandonné -lib mode à partir de l'application critcl.

[26] Abandon des vestiges de la prise en charge de Tcl 8.3 et versions antérieures.

CHANGEMENTS POUR VERSION 3


[1] La commande critcl::plateforme a été déprécié dans la version 2.1, remplacé par
critcl::plate-forme cible, mais conservé pour la compatibilité. Maintenant, il a été supprimé.

[2] La commande critcl::compilé a été conservé dans la version 2.1 avec la sémantique dans
contradiction avec son, pour la compatibilité. Cette contradiction a été levée,
changer la sémantique visible de la commande pour qu'elle soit conforme à son nom.

[3] Le passage à la version 3 est devenu nécessaire en raison des deux
changements ci-dessus.

[4] Extension du package d'application avec une nouvelle option de gestion du code -thé. En précisant
cette option invoque un mode spécial où critcl génère un package TEA, c'est-à-dire encapsule
l'entrée dans une hiérarchie de répertoires et les fichiers de support qui lui fournissent TEA-
système de construction similaire.

Cette nouvelle option, et -paquet, s'excluent mutuellement. Si les deux sont spécifiés, le dernier utilisé
l'option est prioritaire.

La hiérarchie des répertoires de packages générés est principalement autonome, mais pas entièrement.
Cela nécessite non seulement une installation fonctionnelle de Tcl, mais également des installations fonctionnelles
des colis md5 ainsi que cmdline. Ces deux éléments sont fournis par le TcllibComment paquet.
Non requis, mais il est recommandé d'installer l'un des packages pouvant
accélérer le fonctionnement de md5, c'est-à-dire kit de cryptage, tcllibcou Trf.

[5] Extension du package critcl avec une nouvelle commande critique :: analyse prendre le chemin d'un
".critcl", l'analyse statiquement et renvoie la licence, la version, une liste de
ses fichiers compagnons, la liste des API importées et la liste des paramètres personnalisés spécifiés par le développeur
options de configuration. Ces données sont la base de l'emballage de TEA décrit
au dessus.

Notez que ceci est un statique analyse. Alors que les autres modes de construction peuvent (doivent) exécuter le
".critcl" et prendre des décisions spécifiques à la plate-forme concernant le code C assemblé,
fichiers compagnons, etc. le mode wrap TEA n'est pas en mesure de faire de la plate-forme-
décisions spécifiques. Il doit envelopper tout ce qui pourrait éventuellement être nécessaire
lors de la construction. D'où le scan statique. Cela a cependant son propre ensemble de
problèmes, à savoir l'incapacité de comprendre toute construction dynamique de compagnon
chemins de fichiers, au moins seuls. Ainsi:

[6] Extension de l'API utilisée par les packages basés sur critcl avec la commande critcl::possède. Alors que
cette commande est ignorée par les modes de construction normaux décrits par l'analyseur statique
ci-dessus prend ses arguments comme les noms des fichiers compagnons qui doivent être encapsulés
dans le paquet TEA et ne pourrait pas être compris par le scanner autrement, comme
en raison des chemins dynamiques vers critcl :: tsources, critcl ::csources, s'approvisionner
directement, ou simplement en tant que fichiers de données annexes.

[7] Extension de l'API utilisée par les packages basés sur critcl avec la commande critcl :: api pour le
gestion des tables de stubs, que ce soit leur utilisation, et/ou déclaration et exportation.

Veuillez consulter la rubrique Bouts lampe de table Gestion des critique documentation du paquet pour
détails.

[8] Extension de l'API utilisée par les packages basés sur critcl avec la commande critique ::userconfig
pour la gestion des options de configuration personnalisées spécifiées par le développeur, que ce soit leur
utilisation et/ou déclaration.

Veuillez consulter la rubrique Coutume Développer configuration des critique documentation du paquet
pour en savoir plus.

[9] Extension de l'API utilisée par les packages basés sur critcl avec les commandes
critcl :: description, critcl::résumé, critcl::sujet, critcl :: métaet
critcl::exigence de construction pour la déclaration des métadonnées TEApot pour/à propos du
paquet.

Veuillez consulter la rubrique Emballage Papier Meta Données des critique documentation du paquet pour
détails.

CHANGEMENTS POUR VERSION 3.0.1


[1] Corrections de bugs tout autour. En détail:

[2] Correction de l'enregistrement des exigences de version Tcl. Conserver le nom et la version du package
ensemble, les métadonnées générées ininterrompues et la commande de chargement de package générée.

[3] Correction des scripts de construction : lors de l'installation ou de l'encapsulation de TEA, générez tout
répertoires

[4] Modification des scripts de construction pour quitter correctement l'application lorsque la fenêtre de
leur interface graphique est fermée via le bouton (X).

[5] Suppression d'un 8.5-ism (open wb) qui s'était glissé dans le script de construction principal.

[6] Modification des exemples de scripts de construction pour séparer la sortie des différents
exemples (et packages) en ajoutant des lignes vides.

[7] stack::c example bugfix : Inclut les déclarations d'API à utiliser dans les fichiers compagnons.

[8] Extension de la documentation : a noté la nécessité d'une installation fonctionnelle d'un C
compilateur.

[9] Extension des définitions et du code cible Windows pour gérer les fichiers manifestes utilisés
par les environnements de développement MS modernes. Notez que ce code gère à la fois
possibilités, environnement utilisant des manifestes et (anciens) environnements sans.

[10] Extension des définitions et du code cibles Windows 64 bits pour détecter automatiquement le besoin de
la bibliothèque d'aide "bufferoverflowU.lib" et reconfigurez la compilation et le lien
commandes de manière appropriée. Nous supposons que la bibliothèque doit être liée lorsqu'elle est présente.
Cela ne devrait pas nuire si la bibliothèque est présente, mais pas nécessaire. Juste superflu.
Nous recherchons la bibliothèque dans les chemins spécifiés par la variable d'environnement LIB.

CHANGEMENTS POUR VERSION 3.0.2


[1] Correction d'un problème en mode compilation et exécution où les commandes placées dans l'auto_index ne sont pas
trouvé par la commande [inconnu] de Tcl.

[2] Correction d'une incompatibilité de clé de tableau brisant l'utilisation des données client et la fonction de suppression pour
procédure. Rapporté par Jos DeCoster, avec patch.

[3] Implémentation d'une option de ligne de commande -L, un équivalent d'option -I, juste pour la bibliothèque
chemins de recherche.

[4] Correction des problèmes 5 et 8 de github. Contournement d'une variable manquante ::errorInfo. Ce
devrait toujours être présent, cependant il semble y avoir des révisions de Tcl autour desquelles
violer cette hypothèse.

CHANGEMENTS POUR VERSION 3.0.3


[1] Correction des problèmes 5 et 8 de github, pour les exemples de scripts build.tcl. Travailler autour d'un
variable manquante ::errorInfo. Il devrait toujours être présent, mais il semble y avoir
révisions de Tcl autour qui violent cette hypothèse.

CHANGEMENTS POUR VERSION 3.0.4


[1] Correction de la génération du nom d'initialisation du package lorsque le code entrant est lu depuis
stdin et n'a pas de chemin approprié.

[2] Correction du problème 11 de github. Utilise maintenant /LIBPATH au lieu de -L sous Windows (libinclude
paramètre de configuration).

[3] critcl étendu pour gérer le format -l:path des options -l. GNU ld 2.22+ gère cela
en recherchant le chemin tel quel. Bon lors de la spécification de bibliothèques statiques, comme plain -l
recherche les bibliothèques partagées de préférence aux statiques. critcl le gère maintenant, comme
les anciens GNU ld ne le comprennent pas, ni les divers éditeurs de liens spécifiques aux fournisseurs.

[4] Correction du problème github n°12. Critcl détermine maintenant la version de MSVC en cours d'utilisation et utilise
pour basculer entre les différentes options de débogage de lien. Simplification de la gestion des
bufferoverflowU.lib également, utilisant le même mécanisme et rassemblant les deux
sections de configurations que nous avions de nouveau en une seule.

[5] Retravaillé l'insertion des pragmas #line dans le code C généré pour éviter
limitations sur l'argument du numéro de ligne imposées par divers compilateurs, et être plus
précis.

[6] Traitement des arguments modifié. L'option -libdir implique désormais également -L pour son argument.

[7] Gestion étendue de l'option -show (critcl :: showconfig) pour lister le chemin du
fichier de configuration d'où proviennent les données. Bon pour la configuration de débogage
traitement.

[8] Extension du script de construction avec des cibles pour régénérer la documentation intégrée,
et des diagrammes, et de générer un communiqué.

CHANGEMENTS POUR VERSION 3.0.5


[1] Correction d'un bug dans le nouveau code pour les pragmas #line déclenchés lors de la spécification du code C
sans espace de début.

[2] Extension de la documentation pour avoir des pages de manuel pour la licence, la récupération des sources,
installateur et guides du développeur.

CHANGEMENTS POUR VERSION 3.0.6


[1] Correction du problème github 10. L'application critcl fournit désormais un code de sortie approprié (1)
en cas d'échec de la construction, au lieu de toujours indiquer le succès (statut 0).

[2] Correction du problème de github 13. La gestion de bufferoverflowU.lib pour les versions de version était
incompatible avec la gestion des versions de débogage. Il est désormais traité à l'identique
(conditionnel) dans les deux cas.

[3] Nettoyage de la documentation, principalement dans le guide d'installation, et le README.md affiché par
github

CHANGEMENTS POUR VERSION 3.0.7


[1] Correction du code généré par critcl::c++commande. Le code émis a remis un non-
table de chaînes statiques à Tcl_GetIndexFromObj, en violation du contrat, qui
exige que la table ait une adresse fixe. C'était un fracas de mémoire qui attendait
arriver. Merci à Brian Griffin de nous avoir signalé le problème général.

CHANGEMENTS POUR VERSION 3.1


[1] Ajout d'un nouveau package de niveau supérieur critcl :: iassoc.

Ce package simplifie la création de code associant des données à un interpréteur
via Tcl Tcl_(Obtenir|Ensemble)AssocData() Apis. L'utilisateur peut se concentrer sur ses données tout en
tout le code C passe-partout nécessaire pour prendre en charge cela est généré par le package.

Ce package utilise plusieurs des nouvelles fonctionnalités qui ont été ajoutées au noyau critique
paquet, voir ci-dessous.

[2] Ajout du package de niveau supérieur critique :: classe.

Ce package simplifie la création d'objets de niveau C avec classe et instance
commandes. L'utilisateur peut écrire une définition de classe avec des variables de classe et d'instance
et des méthodes similaires à une classe TclOO, avec tout le code C passe-partout nécessaire pour
prend en charge ce généré par le package.

Ce package utilise plusieurs des nouvelles fonctionnalités qui ont été ajoutées au noyau critique
paquet, voir ci-dessous.

[3] Extension de l'API pour la gestion des métadonnées TEApot. Ajout de la commande critique :: méta ? à
interroger les informations stockées. L'utilisation principale actuellement envisagée est la récupération du
le nom du package actuel par des commandes utilitaires, à utiliser dans les noms construits. Cette
des informations particulières sont toujours disponibles grâce à l'analyse statique du paquet
lors de l'exécution de la première commande critcl.

Les nouveaux forfaits critcl :: iassoc ainsi que critique :: classe (voir ci-dessus) sont des utilisateurs de ce
commander.

[4] Extension de l'API avec une commande, critcl :: nom2c, exposant le processus de conversion
un nom Tcl dans le nom de base, l'espace de noms et l'espace de noms C. Cela permet à un niveau supérieur
générateurs de code pour générer le même type d'identifiants C que critique elle-même.

Le nouveau paquet critique :: classe (voir ci-dessus) est un utilisateur de cette commande.

[5] Extension de l'API avec une commande, critcl :: source, en exécutant les commandes critcl trouvées dans
un fichier séparé dans le contexte du fichier courant. Cela permet une gestion plus facile
de plus grands corps de code car il permet à l'utilisateur de les diviser en plus faciles à
digérer des morceaux plus petits sans provoquer la génération de plusieurs packages.

[6] Lié à l'élément précédent, extension de l'API avec des commandes pour détourner la collecte
du code C généré en mémoire. Cela facilite l'utilisation des commandes pour
code C intégré dans des générateurs de code de niveau supérieur.

Voir la section Avancée: Détournements pour plus de détails sur les commandes fournies.

Le nouveau paquet critique :: classe (voir ci-dessus) est un utilisateur de ces installations.

[7] Extension de l'API avec des commandes aidant les développeurs à générer le C approprié
#ligne directives. Cela permet aux générateurs de code de niveau supérieur de générer et d'insérer
leurs propres directives, en s'assurant que les erreurs de compilation dans leur code sont correctement
attribué.

Voir la section Avancée: Localisation gestion pour plus de détails sur les commandes fournies.

Les nouveaux forfaits critcl :: iassoc ainsi que critique :: classe (voir ci-dessus) sont des utilisateurs de ces
installations.

[8] Extension de l'API avec des commandes donnant aux utilisateurs la possibilité de définir des arguments personnalisés
et types de résultats pour ::critcl::cproc.

Voir la section Avancée: Extension cproc pour plus de détails sur les commandes fournies.

CHANGEMENTS POUR VERSION 3.1.1


[1] Corrections de bugs tout autour. En détail:

[2] Correction de la génération d'erreurs #args erronées pour critcl ::cproc et code dérivé
(critique :: classe méthodes basées sur cproc). Utilisez NULL s'il n'y a pas d'arguments et prenez
la compensation en compte.

[3] Correction de la gestion des noms de packages par critique :: classe. J'ai oublié qu'ils peuvent contenir
séparateurs d'espaces de noms. Passé à la version 1.0.1.

[4] A prolongé un critique :: classe message d'erreur généré lors de la création de l'instance pour plus de clarté.
Passé à la version 1.0.2.

CHANGEMENTS POUR VERSION 3.1.2


[1] Amélioration. En détail:

[2] Étendu critcl ::cproc être capable de gérer des arguments optionnels, de manière limitée.
Ceci est automatiquement disponible pour critique :: classe également des méthodes basées sur cproc.

[3] Correction d'un bug dans lassigner émulation pour Tcl 8.4. Définissez correctement les variables inutilisées sur le
chaîne vide. Version modifiée du package d'émulation lassign84 à 1.0.1.

CHANGEMENTS POUR VERSION 3.1.3


[1] Amélioration. En détail:

[2] Ajout d'un nouveau type d'argument "pstring", pour "Pascal String", une chaîne comptée, c'est-à-dire un
combinaison de pointeur de chaîne et de longueur de chaîne.

[3] Ajout de nouvelles méthodes critcl :: argtypesupport ainsi que ::critcl::argsupport définir et utiliser
code de support supplémentaire pour un type d'argument, utilisé ici par "pstring" ci-dessus pour
définir la structure nécessaire.

[4] Semi-corrections de bogues dans les packages critique :: classe ainsi que critcl :: iassoc. Pragmas pour l'AS
scanner de métadonnées pour s'assurer que les fichiers modèles font partie du package.
Les versions sont respectivement passées à 1.0.4 et 1.0.1.

CHANGEMENTS POUR VERSION 3.1.4


[1] Correction d'un bug dans le package critique :: classe. Générer un champ fictif dans la structure de classe si
la classe n'a pas de variables de classe. Sans ce changement, la structure serait vide,
et un certain nombre de compilateurs ne sont pas capables de gérer un tel type.

[2] Correction d'une faute de frappe qui cassait la configuration win64.

[3] Correction du problème #16, une faute de frappe dans la documentation de la commande critique :: classe.

CHANGEMENTS POUR VERSION 3.1.5


[1] Correction du problème n°19. Création de l'expression régulière en extrayant le numéro de version MSVC
plus général pour le faire fonctionner sur les systèmes de langue allemande. Cela peut devoir être
revisité à l'avenir, pour d'autres paramètres régionaux de Windows.

[2] Problème résolu #20. Option faite -thé fonctionne sur windows, au moins dans une émulation unix
environnement comme msys/mingw.

CHANGEMENTS POUR VERSION 3.1.6


[1] Problème résolu n°21. Alors que la multi-définition des variables de pointeur de table de stub était
ok avec tous les linkers C vus jusqu'à présent, les linkers C++ n'aimaient pas du tout ça.
Retravaillé le code pour s'assurer que cet ensemble de variables n'est généré qu'une seule fois, dans
l'emballage autour de toutes les pièces à assembler.

[2] Correction du problème n°22, la gestion des arguments d'identifiant de commande de
critcl::commande, critcl ::cprocet critcl :: cdata. Nous autorisons maintenant correctement tout Tcl
identifiant et générer des identifiants C internes appropriés à partir d'eux.

Dans ce cadre, la signature de commande critcl :: nom2c modifié. La commande maintenant
fournit une liste de quatre valeurs au lieu de trois. La nouvelle valeur a été ajoutée au
fin.

Adapté davantage la mise en œuvre du package critique :: classe, un utilisateur de
critcl :: nom2c. Ce paquet est maintenant à la version 1.0.6 et nécessite critcl 3.1.6

Enfin corrigé la mauvaise gestion de l'option -cnom in critcl::commandeet
critcl ::cproc.

[3] Problème résolu n°23.

CHANGEMENTS POUR VERSION 3.1.7


[1] Correction du problème #24. Extraire et afficher sans condition les avertissements du compilateur trouvés dans le
journal de construction. Empêche les utilisateurs de manquer des avertissements qui, sans provoquer la construction
échouer, peut toujours indiquer des problèmes.

[2] Nouvelle fonctionnalité. Crochet de sortie. Toutes les sorties utilisateur sans messagerie sont désormais acheminées via le
commander critcl :: imprimer, et les utilisateurs sont autorisés à le remplacer lorsqu'ils utilisent le critcl
application en tant que package.

[3] Nouveauté, par Ashok P. Nadkarni. Les configurations de plate-forme peuvent hériter des valeurs de
configurations définies avant eux.

CHANGEMENTS POUR VERSION 3.1.8


[1] Correction d'un problème avec les index de paquet générés pour Tcl 8.4. Rejoindre la liste des commandes
avec point-virgule, pas de nouvelle ligne.

[2] Correction du problème n°26 qui faisait apparaître des cas d'utilisation que j'avais oublié de prendre en compte lors de la correction
bogue #21 (voir critcl 3.1.6).

CHANGEMENTS POUR VERSION 3.1.9


[1] Problème résolu #27. Ajout des définitions de plate-forme manquantes pour divers Linux alternatifs et
Cibles OS X.

[2] Problème résolu n°28. Ajout des drapeaux -mXX manquants pour la liaison sur le Linux-{32,64}-*
cibles.

[3] Correction du problème #29. Remplacement de l'utilisation des informations brutes "cheaders" dans le traitement
de "cdefines" avec les directives d'inclusion appropriées qui en dérivent.

[4] Correction du problème lié au rejet de la pull request #30 par Andrew Shadura. Dynamiquement
extraire les déclarations des variables stubs des fichiers d'en-tête Tcl et générer
définitions de variables correspondantes à utiliser dans le code du package. Le code généré sera
être désormais toujours cohérent avec les en-têtes, même lorsque la propre copie de critcl est
remplacé par les en-têtes système.

[5] Problème résolu n°31. Patch accepté par Andrew Shadura, avec modifications (commentaires), pour
intégration plus facile de critcl avec les systèmes de package OS, remplaçant les copies de critcl de
En-têtes Tcl avec les leurs.

[6] Correction du problème #32. Demande de tirage fusionnée par Andrew Shadura. Diverses fautes de frappe dans
documentation et commentaires.

[7] Problème résolu n°33. Mieux gérer les fichiers commençant par un point.

AUTEURS


Jean Claude Wippler, Steve Landers, Andreas Kupries

Utilisez critcl en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    Phaser
    Phaser
    Phaser est un open rapide, gratuit et amusant
    framework de jeu source HTML5 qui offre
    Rendu WebGL et Canvas à travers
    navigateurs Web de bureau et mobiles. Jeux
    peut être co...
    Télécharger Phaser
  • 2
    Moteur VASSAL
    Moteur VASSAL
    VASSAL est un moteur de jeu pour créer
    versions électroniques de la carte traditionnelle
    et jeux de cartes. Il fournit un soutien pour
    rendu et interaction des pièces de jeu,
    et...
    Télécharger le moteur VASSAL
  • 3
    OpenPDF - Fork d'iText
    OpenPDF - Fork d'iText
    OpenPDF est une bibliothèque Java pour créer
    et l'édition de fichiers PDF avec une licence LGPL et
    Licence open source MPL. OpenPDF est le
    LGPL/MPL open source successeur d'iText,
    un ...
    Télécharger OpenPDF - Fork d'iText
  • 4
    SAGA SIG
    SAGA SIG
    SAGA - Système d'automatisation
    Analyses géoscientifiques - est un
    Logiciel de système d'information (SIG) avec
    immenses capacités pour les géodonnées
    traitement et an...
    Télécharger le SIG SAGA
  • 5
    Boîte à outils pour Java/JTOOpen
    Boîte à outils pour Java/JTOOpen
    IBM Toolbox for Java / JTOpen est un
    bibliothèque de classes Java prenant en charge
    programmation client/serveur et internet
    modèles vers un système exécutant OS/400,
    i5/OS, ou...
    Télécharger Toolbox pour Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (ou D3 pour les documents pilotés par les données)
    est une bibliothèque JavaScript qui vous permet
    produire des données dynamiques et interactives
    visualisations dans les navigateurs Web. Avec D3
    toi...
    Télécharger D3.js
  • Plus "

Commandes Linux

Ad