Amazon Best VPN GoSearch

Icône de favori OnWorks

pmcpp - En ligne dans le Cloud

Exécutez pmcpp 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 pmcpp 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


pmcpp - préprocesseur simple pour le Performance Co-Pilot

SYNOPSIS


pmcpp [-Prés] [-D prénom[=Plus-value] ...] [-I dir ...] [dans le fichier]

DESCRIPTION


pmcpp fournit un préprocesseur très simple conçu à l'origine pour manipuler
Fichiers Performance Metric Name Space (PMNS) pour le Performance Co-Pilot (PCP), mais plus tard
généralisé pour fournir des blocs conditionnels, inclure le traitement de fichiers, la commande shell en ligne
exécution et substitution de macros pour des fichiers arbitraires. Il est le plus souvent utilisé en interne
traiter le(s) fichier(s) PMNS après pmLoadNameSpace(3) ou pmLoadASCIINameSpace(3) est appelé
et de pré-traiter les fichiers de configuration pour pmlogger (1).

Les lignes d'entrée sont lues à partir de dans le fichier (ou entrée standard si dans le fichier n'est pas spécifié), traité
et écrit sur la sortie standard.

Tous les commentaires de style C de la forme /* ... */ sont supprimés du flux d'entrée.

Il n'y a pas de macros prédéfinies pour pmcpp bien que des macros puissent être définies sur la commande
ligne en utilisant le -D option, où prénom et Plus-value doit suivre les mêmes règles que celles décrites
ci-dessous pour le #define Directive.

pmcpp accepte les directives suivantes dans le flux d'entrée (comme cpp(sept)):

· #comprendre "nom de fichier"
or
#comprendre <nom de fichier>
Dans les deux cas, le chemin de recherche du répertoire pour nom de fichier essais nom de fichier d'abord, puis le
répertoire pour la ligne de commande dans le fichier (le cas échéant), suivi de tous les répertoires nommés dans -I
arguments de ligne de commande, et enfin le $PCP_VAR_DIR/pmns répertoire (ce dernier est pour
rétrocompatibilité avec les versions antérieures de pmcpp et l'implicite utilisé à partir de
pmLoadASCIINameSpace(3)). #comprendre les directives peuvent être imbriquées, jusqu'à une profondeur maximale de
5.

· #coquille "commander"
or
#coquille 'commander'
Le coquille commander sera exécuté et la sortie standard est insérée dans le flux
de données à traiter par pmcpp. Fonctionnellement, cela ressemble à un #comprendre
directive, sauf que les lignes d'entrée sont lues à partir d'un commander plutôt qu'un fichier. Les #coquille
directive est la plus utile pour inclure ou exclure #define or #undef des directives basées
sur la logique d'exécution dans le commander.

· #define prénom Plus-value
or
#define prénom "Plus-value"
or
#define prénom 'Plus-value'
Définit une valeur pour la macro prénom qui doit être un nom de style C valide,
alphabétique ou trait de soulignement suivi de zéro ou plusieurs caractères alphanumériques ou traits de soulignement. Plus-value
est facultatif (et est par défaut une chaîne vide). Il n'y a pas de mécanisme d'échappement de caractère,
mais des guillemets simples ou des guillemets doubles peuvent être utilisés pour définir un Plus-value avec spécial
caractères ou un espace blanc horizontal intégré (pas de saut de ligne).

· #undef prénom
Supprime la définition de macro, le cas échéant, pour prénom.

· #ifdef prénom
...
#endif
or
#ifndef prénom
...
#endif
Les lignes englobantes seront supprimées ou incluses, selon si la macro prénom is
défini ou non.

· #else
Dans un #ifdef or #ifndef bloc, #else peut être utilisé pour délimiter les lignes à inclure si
la condition ``si'' précédente est fausse.

La substitution de macro est obtenue en divisant le flux d'entrée en mots séparés par du blanc
espace ou caractères non valides dans un nom de macro, c'est-à-dire non alphanumériques et non
souligner. Chaque mot est vérifié et s'il correspond à un nom de macro, le mot est remplacé par
la valeur de la macro, sinon le mot est inchangé.

Il y a généralement une ligne de sortie pour chaque ligne d'entrée, bien que la ligne puisse être vide si
le texte a été supprimé en raison du traitement des commentaires ou des directives conditionnelles.
Lorsqu'il y a un changement dans le flux d'entrée, une ligne de sortie supplémentaire est générée du
forme:

# lineno "nom de fichier"

pour indiquer le Abonnement la ligne de sortie correspond au numéro de ligne lin de l'entrée
filet nom de fichier.

Le -P L'argument supprime la génération de ces lignes de repère.

Le -s L'argument change le style d'entrée attendu de C-like à Shell-like (où # est un
préfixe de commentaire). Cela force les changements suivants dans pmcpp comportement:
· Le caractère du préfixe de contrôle change de # à %, De sorte %comprendre par exemple.
· Aucun effacement des commentaires n'est effectué.

Pour fournir un contrôle plus fin de l'expansion des macros, le -r option restreint la substitution de macro à
mots qui correspondent aux modèles #nom ou #{prénom} ou si -s est spécifié, alors %nom ou
%{prénom}. Dans ce mode, la macro prénom seul dans le flux d'entrée ne sera jamais étendu,
cependant dans les lignes de contrôle (comme #ifdef) la macro prénom devrait apparaître seul sans le
préfixe ou les accolades (voir les EXEMPLES ci-dessous).

Important cpp(1) caractéristiques qui sont pas accompagnés par pmcpp consistent à
· Macros avec paramètres - les pmcpp les macros ne prennent en charge que les chaînes sans paramètre
substitution.
· #si expr
...
#endif
· Utilisation imbriquée de #ifdef or #ifndef.
· Suppression des commentaires de style C++, comme dans // commentaire.
· Récupération d'erreur - la première erreur rencontrée par pmcpp sera fatal.
· cpp(1) options de ligne de commande comme -o, -W, -U et -x.

EXEMPLES


??
Commande : pmcpp
??
EntréeSortie
??
│ # 1 " "
│#définir MON DOMAINE 27 │ │
│ │
racine { │ racine { │
foo MONDOMAINE:0:0 foo 27:0:0 │
} │ } │
??
Pour les exemples suivants, le fichier fréquences contient les lignes :
%define dk_freq 1minute
%define cpu_freq '15 sec'

?? ??
Commande : pmcpp -rs
?? ??
EntréeSortie
?? ??
│# obtenir des fréquences de journalisation │ # obtenir des fréquences de journalisation │
│# par exemple la macro dk_freq │ # par exemple la macro dk_freq │
│%incluent des "fréquences" │ │
│ │
│log obligatoire sur %dk_freq { │ log obligatoire sur 1minute { │
disk.dev │ disk.dev │
} │ } │
│ │
│# note no % pour want_cpu ici │ # note no % pour want_cpu ici │
%ifdef want_cpu │
│%define cpu_pfx 'kernel.all.cpu.' │
log obligatoire sur %cpu_freq { │ │
%{cpu_pfx}utilisateur │ │
%{cpu_pfx}sys │
} │ │
%endif │ │
?? ??
?? ??
Commande : pmcpp -rs -Dwan_cpu
?? ??
EntréeSortie
?? ??
│# obtenir des fréquences de journalisation │ # obtenir des fréquences de journalisation │
│# par exemple la macro dk_freq │ # par exemple la macro dk_freq │
│%incluent des "fréquences" │ │
│ │
│log obligatoire sur %dk_freq { │ log obligatoire sur 1minute { │
disk.dev │ disk.dev │
} │ } │
│ │
│# note no % pour want_cpu ici │ # note no % pour want_cpu ici │
%ifdef want_cpu │
│%define cpu_pfx 'kernel.all.cpu.' │
│log obligatoire sur %cpu_freq { │ log obligatoire sur 15 sec { │
%{cpu_pfx}user │ kernel.all.cpu.user │
%{cpu_pfx}sys kernel.all.cpu.sys │
} │ } │
%endif │ │
?? ??

PCP ENVIRONNEMENT


Variables d'environnement avec le préfixe PCP_ servent à paramétrer le fichier et le répertoire
noms utilisés par PCP. A chaque installation, le fichier /etc/pcp.conf contient les valeurs locales
pour ces variables. Les $PCP_CONF La variable peut être utilisée pour spécifier une alternative
fichier de configuration, comme décrit dans pcp.conf (5).

Utiliser pmcpp en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.