C to Pascal/fr

From Free Pascal wiki
Revision as of 23:20, 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)

One of the weaknesses of Pascal compared to the C language, is a lower number of existing libraries. The reason for that is the much greater popularity of the C language compared to Pascal. Rather than rewrite the existing C libraries in Pascal, an easier alternative is to use the C libraries from Pascal.

While Pascal is a high-level language, it's also "low-level" enough to interact with the very basic API functions used by the C language. Thus, using existing C-based libraries in Pascal programs is a common practice. Also, most of the popular operating systems and low-level APIs are written in and designed to be used by the C language.

Each C language library comes with header files and binaries (static and/or dynamic library file(s)). In order to use the library, the header files need to be converted to Pascal and the binaries must be linked with the Pascal program. While usage of the library is resolved by the linker at compile time (static linking) or at runtime by the OS (dynamic linking), the task of converting a C header file to Pascal is the job of the programmer. However, there have been many utilities written in order to automate or semi-automate the task.

Problems and solutions are explained in these good 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