Il s'agit de la commande autogen qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks à l'aide de 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
autogène - Le générateur de programme automatisé
SYNOPSIS
autogène [-drapeaux] [-drapeau [Plus-value]] [--option-nom[[=| ]Plus-value]] [ ]
AutoGen crée des fichiers texte à partir de modèles à l'aide de définitions externes.
DESCRIPTION
Génération automatique est conçu pour générer des fichiers de programme contenant du texte répétitif avec des
remplacements. L'objectif est de simplifier la maintenance des programmes contenant de grandes
quantités de texte répétitif. Ceci est particulièrement utile s'il y a plusieurs blocs de
tel texte qui doit rester synchronisé.
Un exemple courant est le problème de la maintenance du code requis pour le traitement du programme
option. Les options de traitement nécessitent qu'un minimum de quatre constructions différentes soient conservées dans
bon ordre à différents endroits de votre programme. Il vous faut au minimum : Le caractère drapeau
dans la chaîne du drapeau, code pour traiter le drapeau lorsqu'il est rencontré, un état global
variable ou deux, et une ligne dans le texte d'utilisation. Vous aurez besoin de plus de choses en plus de cela si
vous choisissez d'implémenter des noms d'option longs, le traitement du fichier de configuration, l'environnement
variables et ainsi de suite.
Tout cela peut être fait mécaniquement ; avec les modèles appropriés et ce programme.
OPTIONS
Notre Abonnement Options Sélectionner définitions, modèles et votre programme fonctions à utilisé
-L dir, --templ-répertoires=dir
Rechercher des modèles dans DIR. Cette option peut apparaître un nombre illimité de fois.
Ajouter un répertoire à la liste des répertoires autogène recherche lors de l'ouverture d'un
modèle, soit comme modèle principal, soit comme modèle inclus. La dernière entrée a
la plus haute priorité dans la liste de recherche. C'est-à-dire qu'ils sont recherchés dans
ordre inverse.
-T fichier-tpl, --override-tpl=fichier-tpl
Utilisez FICHIER TPL pour le modèle. Cette option peut ne pas être prédéfinie avec l'environnement
variables ou dans les fichiers d'initialisation (rc).
Les fichiers de définition spécifient le modèle standard qui doit être développé. Cette option
remplacera ce nom et développera un modèle différent.
-l fichier-tpl, --lib-modèle=fichier-tpl
Charger les macros AutoGen depuis FICHIER TPL. Cette option peut apparaître un nombre illimité de
fois.
Les macros DEFINE sont enregistrées à partir de ce fichier modèle pour être utilisées dans le traitement des principaux
fichier de macros. Le texte du modèle en dehors des macros DEFINE est ignoré.
Ne l'utilisez pas. À la place, utilisez la macro INCLUDE dans votre modèle.
NOTE: CE OPTION IS Déprécié
--définitions=filet, Fl -pas-de-définitions
Lire les définitions de DOSSIERL’ pas de définitions formulaire désactivera l'option. Cette
l'option est activée par défaut. Cette option peut ne pas être prédéfinie avec l'environnement
variables ou dans les fichiers d'initialisation (rc).
Utilisez cet argument pour spécifier le fichier de définitions d'entrée avec une option de ligne de commande.
Si vous ne spécifiez pas cette option, il doit y avoir un argument de ligne de commande qui
spécifie le fichier, ne serait-ce que pour spécifier stdin avec un tiret (-). Spécifier,
--pas de définitions lorsque vous souhaitez traiter un modèle sans aucun AutoGen actif
définitions
--coquille=coquille
nom ou chemin d'accès du shell à utiliser.
Par défaut, lors de la création d'AutoGen, la configuration est testée pour une durée raisonnable
Shell de type Bourne à utiliser pour le traitement des scripts shell. Si un modèle particulier
a besoin d'un autre shell, il doit être spécifié avec cette option sur la commande
ligne, avec une variable d'environnement (SHELL) ou dans la configuration/initialisation
fichier.
-m, --no-fmemopen
N'utilisez pas de flux in-mem.
Si la bibliothèque C locale prend en charge "fopencookie(3GNU)", ou"amusementouvrir(3BSD)" ensuite
AutoGen préfère utiliser les ouvertures de tampon de flux en mémoire au lieu de fichiers anonymes.
Cela peut entraîner des problèmes s'il y a un manque de mémoire virtuelle. Si, pour un
application particulière, vous manquez de mémoire, puis spécifiez cette option. C'est
peu probable dans un environnement de mémoire virtuelle 64 bits moderne.
Sur les plateformes sans ces fonctions, l'option est acceptée mais ignorée.
fmemopen(POSIX) n'est pas adéquat car son tampon de chaîne n'est pas réaffectable.
open_memstream(POSIX) is aussi pas adéquat car le flux n'est ouvert que pour
sortir. AutoGen a besoin d'un tampon réaffectable disponible à la fois pour la lecture et
en train d'écrire.
--assimiler=liste de caractères
caractères considérés comme équivalents. Le défaut liste de caractères pour cette option est :
_-^
Cette option modifiera la liste des caractères considérés comme équivalents. Le défaut
sont les trois caractères, "_-^". (La dernière est classique sur un Tandem/HP-NonStop,
et je travaillais beaucoup sur les tandems.)
Notre Abonnement Options modifier how sortie is manipulés
-b prénom, --nom-base=prénom
Spécifier Nom comme nom de base pour la sortie. Cette option peut ne pas être prédéfinie avec
variables d'environnement ou dans les fichiers d'initialisation (rc).
Un modèle peut spécifier le nom exact du fichier de sortie. Normalement, ce n'est pas le cas.
Au lieu de cela, le nom est composé du nom de base du fichier de définitions avec
suffixes ajoutés. Cette option remplacera le nom de base dérivé du
nom du fichier de définitions. Ceci est requis s'il n'y a pas de fichier de définitions et
conseillé si les définitions sont lues à partir de stdin. Si les définitions sont
lu à partir de l'entrée standard, le nom de base est par défaut Stdin. Tout annuaire de premier plan
les composants du nom seront supprimés en silence. Si vous souhaitez que le fichier de sortie
apparaissent dans un répertoire particulier, il est recommandé de "cd" dans ce répertoire
répertoire en premier, ou utilisez les noms de répertoire dans la spécification de format pour la sortie
listes de suffixes, voir : pseudo macro.
--source-heure, - Fl -pas-de-source-temps
régler les heures de mod sur la dernière source. Les pas-source-temps formulaire désactivera l'option.
Si vous tamponnez vos fichiers de sortie avec le DNE sortie macro, puis vos fichiers de sortie
sera toujours différent, même si le contenu n'a pas vraiment changé. Si tu utilises
cette option, alors l'heure de modification des fichiers de sortie ne changera que si le
les fichiers d'entrée changent. Cela aidera à réduire les constructions inutiles.
--inscriptible, - Fl -non-inscriptible
Autoriser les fichiers de sortie à être inscriptibles. Les non inscriptible formulaire désactivera l'option.
Cette option laissera les fichiers de sortie inscriptibles. Normalement, les fichiers de sortie sont lus-
seulement.
Notre Abonnement Options are souvent incontournable tout en débogage nouvelle modèles
Ils spécifient des limites qui empêchent le modèle de prendre trop de temps ou de produire plus
sortie que prévu.
--loop-limite=lim
Limite des boucles d'incrémentation. Cette option prend un nombre entier comme argument.
La valeur de lim est contraint d'être :
exactement -1, ou
dans la plage 1 à 0x1000000
Le défaut lim pour cette option est :
256
Cette option empêche les boucles d'emballement. Par exemple, si vous spécifiez accidentellement, "POUR
x (for-from 1) (for-to -1) (for-by 1)", cela prendra beaucoup de temps pour terminer. Si vous
ont plus de 256 entrées dans les tables, vous devrez spécifier une nouvelle limite avec
cette option.
-t secondes, --temps libre=secondes
Limiter les opérations du shell du serveur à SECONDS. Cette option prend un nombre entier comme
son argumentation. La valeur de secondes est contraint d'être :
dans la plage 0 à 3600
AutoGen fonctionne avec un processus de serveur shell. La plupart des commandes normales se termineront dans
moins de 10 secondes. Si, toutefois, vos commandes ont besoin de plus de temps que cela, utilisez
cette option.
La plage valide est de 0 à 3600 secondes (1 heure). Zero désactivera l'heure du serveur
limite.
--tracer=niveau
niveau de détail du traçage. Cette option prend un mot-clé comme argument. Les
L'argument définit une valeur d'énumération qui peut être testée en les comparant aux
macro de valeur d'option. Les mots-clés disponibles sont :
rien debug-message server-shell
modèles d'expressions de macros de blocs
beaucoup à
ou leur équivalent numérique.
Le défaut niveau pour cette option est :
rien
Cette option entraînera l'affichage par AutoGen d'une trace du traitement de son modèle.
Il y a six niveaux, chaque niveau comprenant des messages des niveaux précédents :
rien Ne fait aucun traçage (par défaut)
message de débogage Imprimer les messages de la macro AutoGen "DEBUG" (voir : DEBUG).
serveur-shell Trace toutes les entrées et sorties vers le shell du serveur. Cela comprend un
script d'initialisation "indépendant" du shell d'environ 30 lignes. Sa sortie est
jeté et non inséré dans un modèle.
modèles Trace l'invocation de DÉFINIRd macros et COMPRENDREs
bloc-macros Trace toutes les macros de bloc. Ce qui précède, plus IF, POUR, Adhésion et votre TANDIS QUE.
expressions Affiche les résultats des évaluations d'expression.
beaucoup à Affiche l'appel de chaque macro AutoGen, même TEXTE macros (c'est-à-dire
le texte en dehors des guillemets de macro). De plus, si vous reconstruisez le ``expr.ini''
avec le débogage activé, puis tous les appels aux fonctions de schéma définies par AutoGen
sera également enregistré :
cd${top_builddir}/agen5
DEBUG_ENABLED=true bash bootstrap.dir expr.ini
faire CFLAGS='-g -DDEBUG_ENABLED=1'
Sachez que vous ne pouvez pas reconstruire cette source de cette manière sans avoir au préalable
installé le autogène exécutable dans votre chemin de recherche. Pour cette raison, "expr.ini"
est dans la liste des sources distribuées, et non dans les dépendances.
--tracer=filet
traçage du fichier de sortie ou du filtre.
La sortie spécifiée peut être un nom de fichier, un fichier qui est ajouté à, ou, si le
l'argument d'option commence par le pipe opérateur (|), une commande qui recevra le
traçage de la sortie en standard dans. Par exemple, --traceout='| moins' exécutera la trace
sortie par le moins programme. L'ajout à un fichier est spécifié en précédant le
nom de fichier avec deux caractères supérieurs à (>>).
--show-defs
Afficher l'arbre de définition. Cette option peut ne pas être prédéfinie avec des variables d'environnement
ou dans les fichiers d'initialisation (rc).
Cela imprimera l'arbre de définition complet avant de traiter le modèle.
--use-définit
Montrez les définitions utilisées. Cette option peut ne pas être prédéfinie avec l'environnement
variables ou dans les fichiers d'initialisation (rc).
Cela imprimera les noms des valeurs de définition recherchées lors de la
traitement du modèle, qu'il soit réellement trouvé ou non. Il peut y avoir d'autres
définitions référencées dans un modèle dans des parties du modèle non évaluées.
Certains des noms répertoriés peuvent être des noms calculés et d'autres des arguments de macro AutoGen.
Il ne s'agit pas d'un moyen de produire une liste définitive et exhaustive de tous et
uniquement les valeurs utilisées à partir d'un fichier de définition. Il s'agit d'une aide à
modèle de documentation uniquement.
-C, --coeur
Laissez un vidage de mémoire sur une sortie d'échec.
De nombreux systèmes ont par défaut une limite de cœur de taille zéro. Si le système a le
en-tête sys/resource.h et si cette option est fournie, alors dans la sortie d'échec
chemin, autogen tentera de définir la limite du noyau mou quel que soit le noyau dur
la limite est. Si cela ne fonctionne pas, alors un administrateur doit lever le noyau dur
limite de taille. dans les fichiers de définitions et les fichiers modèles" Ils précisent quels
extrants et parties d'extrants à produire.
-s suffixe, --saut-suffixe=suffixe
Ignorer le fichier avec ceci SUFFIXE. Cette option peut apparaître un nombre illimité de
fois. Cette option peut ne pas être prédéfinie avec des variables d'environnement ou dans
fichiers d'initialisation (rc). Cette option ne doit pas apparaître en combinaison avec l'un des
les options suivantes : select-suffix.
Parfois, il peut ne pas être souhaitable de produire tous les fichiers de sortie spécifiés
dans le modèle. (Par exemple, seul le .h fichier d'en-tête, mais pas le .c Programme
texte.) Pour ce faire, précisez --skip-suffix=c sur la ligne de commande.
-o suffixe, --select-suffixe=suffixe
spécifiez ce suffixe de sortie. Cette option peut apparaître un nombre illimité de fois.
Cette option peut ne pas être prédéfinie avec des variables d'environnement ou dans l'initialisation (rc)
fichiers.
Si vous souhaitez remplacer les spécifications de suffixe dans le modèle, vous pouvez en utiliser un
ou plusieurs exemplaires de cette option. Voir la spécification du suffixe dans le @ref{pseudo
macro} section de la doc d'information.
-D Plus-value, --définir=Plus-value
nom à ajouter à la liste de définitions. Cette option peut apparaître un nombre illimité de
fois.
Les noms définis par AutoGen sont utilisés aux fins suivantes :
Des sections des définitions AutoGen peuvent être activées ou désactivées en utilisant le style C
Directives #ifdef et #ifndef.
Lors de la définition d'une valeur pour un nom, vous pouvez spécifier l'index d'une valeur particulière.
Cet index peut être une valeur littérale, une option de définition ou une valeur #define-d dans le
définitions elles-mêmes.
Le nom d'un fichier peut être précédé de $NOM/L’ $NOM partie de la chaîne de nom
sera remplacé par la valeur define-d pour Nom.
Lorsque AutoGen a fini de charger les définitions, les valeurs définies sont exportées
à l'environnement avec, putenv(3). Ces valeurs peuvent ensuite être utilisées dans des scripts shell
avec ${NOM@} références et dans les modèles avec (getenv "NOM").
Lors du traitement d'un modèle, vous pouvez spécifier un index pour récupérer une valeur spécifique.
Cet indice peut également être une valeur définie-d.
Il est tout à fait équivalent de placer ce nom dans l'environnement exporté.
En interne, c'est ce que fait AutoGen avec cette option.
-U nom-pat, --undefine=nom-pat
modèle de suppression de liste de définitions. Cette option peut apparaître un nombre illimité de
fois. Cette option peut ne pas être prédéfinie avec des variables d'environnement ou dans
fichiers d'initialisation (rc).
Semblable à 'C', AutoGen utilise #ifdef/#ifndef directives de prétraitement. Cette option
entraînera la suppression des noms correspondants de la liste des valeurs définies.
Cette option is d'utiliser à automatiser dépendance désinfection
-M type, --make-dep [type]
émettre un fichier de dépendance make. Cette option peut apparaître un nombre illimité de fois.
Cette option peut ne pas être prédéfinie avec des variables d'environnement ou dans l'initialisation (rc)
fichiers.
Cette option se comporte d'assez près de la façon dont le -M série d'options fonctionne avec
le compilateur gcc, sauf qu'au lieu de simplement émettre le prédécesseur
dépendances, cela émet également les dépendances successeurs (fichiers cibles de sortie). Par
par défaut, les informations de dépendance de sortie seront placées dans .ré, mais peut
également être spécifié avec -MF. L'horodatage de ce fichier sera manipulé
de sorte qu'il aura une seconde de plus que le fichier de sortie principal le plus ancien.
La cible dans ce fichier de dépendances sera normalement le nom du fichier de dépendances, mais
peut également être remplacé par -MT. AutoGen ne modifiera pas le contenu de
ce fichier, mais il peut le créer et il ajustera l'heure de modification pour correspondre
l'heure de début.
NB: ces secondes lettres font partie de l'argument option, donc -MF doit avoir
le caractère espace entre guillemets ou omis, et -M "F " est acceptable parce que le
F fait partie de l'argument d'option.
-M peut être suivi de l'une des lettres M, F, P, T, Q, D ou G. Cependant, seul F,
Q, T et P sont significatifs. Tous sauf F ont des significations quelque peu différentes. -MT
est interprété comme signifiant est un fichier sentinelle qui dépendra de toutes les entrées
(modèles et fichiers de définition) et tous les fichiers de sortie en dépendront
fichier sentinelle. Il convient à une utilisation comme une véritable cible de fabrication. Q est traité
identique à T, sauf que les caractères dollar ('$') sont doublés. P provoque une spéciale
Règle bidon clean (clobber) à insérer dans le fragment de fichier make. Un vide
La règle est toujours créée pour construire la liste des cibles.
Voici l'utilisation recommandée :
-MFwhatever-you-like.dep -MTvotre-fichier-sentinelle -MP
et puis dans votre Makefile, faire le autogène régner:
-incluez ce que vous voulez.dep
clean_targets += nettoyer-votre-fichier-sentinelle
.sp
votre-fichier-sentinelle :
autogène -MT$@@ -MF$*.d .....
.sp
local-nettoyage :
rm -f $(clean_targets)
L'heure de modification sur le fichier de dépendance est ajustée à une seconde avant
l'horodatage le plus ancien de tout autre fichier de sortie. Par conséquent, il convient pour
utiliser comme fichier sentinelle attestant du fait que le programme a été exécuté avec succès.
(-comprendre est le moyen GNU de spécifier "l'inclure s'il existe". Votre marque
doit prendre en charge cette fonctionnalité ou votre processus d'amorçage doit créer le fichier.)
Tout cela peut également être spécifié à l'aide de la DEPENDANCES_OUTPUT or AUTOGEN_MAKE_DEP
Variables d'environnement. Si défini, les informations de dépendance seront sorties. Si
défini avec du texte libre d'espace blanc qui est autre chose que oui, non, oui,
aucune, 0 or 1, alors la chaîne est considérée comme un nom de fichier de sortie. S'il contient un
chaîne d'espaces blancs, le premier jeton est comme ci-dessus et le deuxième jeton
est considéré comme le fichier cible (sentinelle) car -MT dans les paragraphes ci-dessus.
DEPENDANCES_OUTPUT sera ignoré s'il y a plusieurs séquences d'espaces blancs
caractères ou si son contenu est, en particulier, non, aucune or 0.
Aidez-moi, version et votre option manipulation
-?, --Aidez-moi
Afficher les informations d'utilisation et quitter.
-!, --plus d'aide
Transmettez les informations d'utilisation étendue via un téléavertisseur.
-> [fichiercfg], --save-options [=fichiercfg]
Enregistrer l'état de l'option dans fichiercfg. La valeur par défaut est le dernier fichier de configuration
énumérés dans le OPTION PRESETS rubrique, ci-dessous. La commande se terminera après la mise à jour
le fichier de configuration.
-< fichiercfg, --load-opts=fichiercfg, --no-load-opt
Charger les options de fichiercfgL’ options sans charge formulaire désactivera le chargement de
fichiers config/rc/ini antérieurs. --no-load-opt est traité tôt, dans le désordre.
-v [{v|c|n --version [{v|c|n}]}]
Sortez la version du programme et quittez. Le mode par défaut est 'v', une version simple.
Le mode 'c' imprimera les informations de copyright et 'n' imprimera le copyright complet
remarquer.
OPTION PRESETS
Toute option qui n'est pas marquée comme pas préréglable peut être préréglé en chargeant les valeurs de
fichier(s) de configuration ("RC" ou ".INI") et valeurs des variables d'environnement nommées :
AUTOGEN_ or AUTOGÈNE
Les préréglages environnementaux sont prioritaires (sont traités après) la configuration
des dossiers. le homerc les fichiers sont "$ ACCUEIL", Et".". Si l'un de ces répertoires est un répertoire, le
filet .autogenrc est recherché dans ces répertoires.
ENVIRONNEMENT
See OPTION PRESETS pour les variables d'environnement de configuration.
Utiliser autogen en ligne à l'aide des services onworks.net