C to Pascal/fr
│
English (en) │
français (fr) │
Une des faiblesse de Pascal comparé au langage C est le nombre limité de bibliothèques existantes. La raison en est la plus grande popularité du langage C. Plutôt que de réécrire les bibliothèques C en Pascal, une alternative plus facile consiste à utiliser les bibliothèques C depuis Pascal.
Bien que Pascal soit un langage de haut niveau, il est également suffisamment "de bas niveau" pour interagir avec les fonctions API très basiques utilisées par le langage C. Ainsi, l'utilisation de bibliothèques existantes basées sur C dans les programmes Pascal est une pratique courante. De plus, la plupart des systèmes d'exploitation populaires et des API de bas niveau sont écrits et conçus pour être utilisés par le langage C.
Chaque bibliothèque de langage C est livrée avec des fichiers d'en-tête et des binaires (fichier(s) de bibliothèque statique et/ou dynamique). Pour utiliser la bibliothèque, les fichiers d'en-tête doivent être convertis en Pascal et les binaires doivent être liés au programme Pascal. Alors que l'utilisation de la bibliothèque est résolue par l'éditeur de liens au moment de la compilation (liaison statique) ou au moment de l'exécution par le système d'exploitation (liaison dynamique), la tâche de convertir un fichier d'en-tête C en Pascal est le travail du programmeur. Cependant, de nombreux utilitaires ont été écrits afin d'automatiser ou de semi-automatiser la tâche.
Les problèmes et solutions sont expliqués dans ces bons articles:
- Création de liaisons pour des bibliothèques C
- Problèmes courants lors de la conversion des fichiers d'entête
- Pascal pour les utilisateurs C
- Les pièges de la conversion
Outils de conversion de C à Pascal et bibliothèques
Il pourrait y en avoir beaucoup plus trouvés en ligne (SVP ajoutez-les à la liste).Nom | Notes | Entêtes | Source | Précompilateur | C++ | ObjC | Interface |
---|---|---|---|---|---|---|---|
H2Pas | Outil officiel basé sur yylex de l'équipe FPC pour convertir des entêtes C vers Pascal. Les anomalies peuvent rapportées sur Mantis. | Yes | No | quelque peu | en ligne de commande ou H2Paswizard (IHM) | ||
OpenC2Pas | |||||||
C2Pas32 | Freeware, mais solution en source fermée | Yes | Yes | en ligne de commande | |||
Convertisseur C vers Pascal | |||||||
Dr. Bob's HeadConv | |||||||
Rudy's Conversion Helper Package | Sur le site de nombreuses informations utiles peuvent être trouvées. | ||||||
C-To-Delphi | Cet outil convertira la plupart de votre code C standard. Il contient une vue en deux parties, avec le C à gauche et Delphi à droite. Le code Delphi est mis à jour en temps réel quand vous éditez le code C. Les éditeurs sont gardés synchronisés, ainsi vous pouvez facilement voir comment une partie spécifique du code a été converties. | Yes | No | No | IHM | ||
Chet | Chet utilise le compilateur Clang pour analyser les fichiers d'entête, il en résulte des traductions plus précises qui demandent moins d'ajustements. | Yes | Yes | Yes | No | No | IHM |
Chelper | Le projet a commencé comme ObjC converter, il comprend donc la notation ObjC. Bien que le développement soit au point mort il y a quelques années. | Yes | No | quelque peu - Pas d'expression. | No | Yes | en ligne de commande, IHM avec un plugin Lazarus. |
ToPas C-to-Pascal | L'auteur original est Hans-Peter Diettrich | ||||||
CToPas | La plus récente et nouvelle implémentation par le Dr Diettrich | Yes | IHM | ||||
CtoPas | Yes | Yes | IHM | ||||
Objective Pascal Framework Parser | Cet outil écrit en PHP est utilisé par l'équipe FPC pour les liaisons Cocoa et iOS. A été conçu pour manipuler spécialement ObjC. | Yes | No | Versions OSX seulement | No | Yes | en ligne de commande |
SWIG | Solution non basée sur Pascal; visant à générer des liaisons pour C++ | Yes | Yes | Yes |