Revision 2 of 2, by E-ric on 4-19-2022. The page as it is now.
C to Pascal/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
Nom
Notes
Entêtes
Source
Précompilateur
C++
ObjC
Interface
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)
Freeware, mais solution en source fermée
Yes
Yes
en ligne de commande
Rudy's Conversion Helper Package
Sur le site de nombreuses informations utiles peuvent être trouvées.
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 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
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.
L'auteur original est Hans-Peter Diettrich
La plus récente et nouvelle implémentation par le Dr Diettrich
Yes
IHM
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
Solution non basée sur Pascal; visant à générer des liaisons pour C++
Yes
Yes
Yes
|-}
Il pourrait y en avoir beaucoup plus trouvés en ligne (SVP ajoutez-les à la liste).
From the Free Pascal wiki, page "C to Pascal/fr", as it stood on 2022-04-19 after a change by E-ric, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
