Difference between revisions of "C to Pascal/fr"

From Free Pascal wiki
Jump to navigationJump to search
 
 
Line 1: Line 1:
 
{{C_to_Pascal}}
 
{{C_to_Pascal}}
  
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.  
+
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.
  
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.
+
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.
  
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.  
+
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.
  
Problems and solutions are explained in these good articles:
+
Les problèmes et solutions sont expliqués dans ces bons articles:
* [[Creating bindings for C libraries]]
+
* [[Creating bindings for C libraries/fr|Création de liaisons pour des bibliothèques C]]
* [[Common problems when converting C header files]]
+
* [[Common problems when converting C header files/fr|Problèmes courants lors de la conversion des fichiers d'entête]]
* [[Pascal for C users]]
+
* [[Pascal for C users/fr|Pascal pour les utilisateurs C]]
* [http://rvelthuis.de/articles/articles-convert.html Pitfalls of converting]
+
* [http://rvelthuis.de/articles/articles-convert.html Les pièges de la conversion]
  
  

Latest revision as of 23:31, 19 April 2022

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