H2Pas |
Entête à Pascal |
---|---|
Free Pascal | Outils |
Syntaxe
h2pas [options] filename |
Paramètres
Nom | Description |
---|---|
-d | Ce paramètre permet d'indiquer qu'il faut l'utiliser en externe; pour toutes les déclarations de procédure et de fonction. |
-D | Ce paramètre permet d'indiquer qu'il faut utiliser le nom de bibliothèque externe 'func_name' pour les déclarations de fonction et de procédure. |
-e | Ce paramètre permet d'indiquer qu'il faut émettre une série de constantes au lieu d'un type d'énumération pour la construction enum en langage de programmation C. |
-i | Ce paramètre permet d'indiquer qu'il faut créer un fichier d'inclusion au lieu d'une unité (omettre l'entête de l'unité). |
-l libname | Ce paramètre permet d'indiquer qu'il faut spécifier le nom de la bibliothèque pour les déclarations de fonctions externes. |
-o outfile | Ce paramètre permet d'indiquer le nom du fichier de sortie. La valeur par défaut est le nom du fichier d'entrée dont l'extension est remplacée par «.pp». |
-p | Ce paramètre permet d'utiliser la lettre P devant les paramètres de type pointeur au lieu du symbole de pointeur «^». |
-s | Ce paramètre permet de supprimer les commentaires du fichier d'entrée. Par défaut, les commentaires sont convertis en commentaires, mais ils peuvent être déplacés puisqu'un commentaire est traité par l'analyseur. |
-t | Ce paramètre permet d'indiquer qu'il faut mettre le préfixe des noms de types typedef par la lettre T (utilisé pour suivre la convention de Borland selon laquelle tous les types devraient être définis avec T). |
-v | Ce paramètre permet de remplacer les paramètres de pointeur par des paramètres d'appel par référence. À utiliser avec précaution, car certains appels peuvent s'attendre à un pointeur NIL. |
-w | Ce paramètre permet d'indiquer que le fichier d'entête est un fichier d'entête win32 (ajoute la prise en charge de certaines macros spéciales). |
-x | Ce paramètre permet de gérer SYS_TRAP dans des fichiers d'entête PalmOS. |
Description
La commande H2Pas tente de convertir un fichier d'entête de langage de programmation C en une unité Pascal. Il peut gérer la plupart des constructions C que l'on trouve dans un fichier d'entête du langage de programmation C, et tente de les convertir en leurs équivalents en langage de programmation Pascal.
Remarques
- La commande H2Pas est un outil de ligne de commande convertissant un fichier d'entête de langage programmation C en unité de langage de programmation Pascal. Il lit le fichier d'entête de langage de programmation C et convertit les déclarations C en déclarations Pascal équivalentes pouvant être utilisées pour accéder au code écrit en C.
- La sortie du programme H2Pas est écrite dans un fichier portant le même nom que le fichier d'entête C utilisé comme entrée, mais avec l'extension .pp. Le fichier de sortie créé par h2pas peut être personnalisé de nombreuses manières au moyen de nombreuses paramètres.
Les constructions
Les constructions sont traitées de la façon suivante :
- #define : Les définitions sont modifiées en constantes Pascal s'il s'agit de définitions simples. Les macros sont changées, dans la mesure du possible en fonctions, cependant, les paramètres sont tous des entiers, ils doivent donc être modifiés manuellement. Les expressions simples dans les définitions sont reconnues, de même que la plupart des opérateurs arithmétiques : addition, soustraction, multiplication, division, opérateurs logiques, opérateurs de comparaison, opérateurs de décalage. L'opérateur ternaire du C comme par exemple (A ? B : C) est également reconnue et convertie en une construction Pascal avec une instruction IF.
- Déclarations du préprocesseur : Les commandes de pré-traitement conditionnelles sont reconnues et convertie en directives de compilation Pascal équivalentes. La directive de compilation spécial #ifdef __cplusplus est également reconnu et supprimé.
- typedef : Une déclaration typedef est convertie en une déclaration de type de données Free Pascal. Les types de base suivants sont reconnus :
- Fonctions et procédures : Les fonctions et les procédures sont également converties; Les types de pointeur peuvent être modifiés pour appeler des paramètres de référence (en utilisant le paramètre var) à l'aide du paramètre de ligne de commande -p. Les fonctions ayant un nombre variable de paramètres sont modifiées en une fonction avec un tableau de paramètres const.
- Spécificateurs : Le spécificateur externe est reconnu; cependant, il est ignoré. le spécificateur packed est reconnu et modifié avec la directive PACKRECORDS. Le spécificateur const est également reconnu, mais est ignoré.
- Modificateurs : Si le paramètre -w est spécifiée, les modificateurs suivants sont reconnus : STDCALL, CDECL, CALLBACK, PASCAL, WINAPI, APIENTRY, WINGDIAPI tels que définis dans les entêtes win32. Si le paramètre -x est également spécifiée, le spécificateur SYS_TRAP est également reconnu.
- enum Les constructions enum sont transformées en types d'énumération; N'oubliez pas qu'un énumération en C, des types peuvent être associés à des valeurs; le Free Pascal le permet également dans une certaine mesure. Si vous savez que des valeurs sont attribuées à des énumérations, il est préférable d'utiliser le paramètre -e pour remplacer les énumérations par une série de constantes de nombre entier.
- union : Les unions sont remplacées par des enregistrements de variantes.
- struct : Les structures sont changés en Free Pascal par des Record, avec le paquet C.
Type de données | Description |
---|---|
char | Ce type de données est changé en type de données char. |
float | Ce type de données est changé en Real en Pascal ou Double en Free Pascal. |
int | Ce type de données est changé en LongInt. |
long | Ce type de données est changé en LongInt. |
long int | Ce type de données est changé en LongInt. |
short | Ce type de données est changé en Integer. |
unsigned | Ce type de données est changé en Cardinal. |
unsigned char | Ce type de données est changé en Byte. |
unsigned int | Ce type de données est changé en Cardinal. |
unsigned long int | Ce type de données est changé en Cardinal. |
unsigned short | Ce type de données est changé en Word. |
void | Ce type de données est ignoré. |
Ces types de données sont également modifiés s'ils apparaissent dans les paramètres d'une fonction ou d'une procédure. |
Dernière mise à jour : Samedi, le 16 novembre 2019