C to Pascal/fr

From Free Pascal wiki
Revision as of 23:31, 19 April 2022 by E-ric (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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:


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