Pascal for C users/fr
From Lazarus wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
français (fr) │
Présentation
Cette page donne quelques traduction entre des concepts C(++) et Pascal.
Traduction
Remarque: Les opérateurs logiques (AND/OR/XOR etc) sont logiques (bit à bit) ou booléens selon le types des arguments (resp. entiers ou booléen). Puisque Pascal possède un type booléen séparé depuis le début, les opérateurs booléens sur les entiers n'étaient pas nécessaires, et sont toujours logiques (bit à bit).
C | Pascal | Notes |
---|---|---|
{ | Begin | |
} | End | |
= | := | Affectation |
== | = | Egalité |
/ | / | Division flottante (division entière: div) |
% | Mod | Opération Modulo |
! | Not | NON logique |
!= | <> | Différent de |
&& | And | ET logique |
|| | Or | OU logique |
& | And | ET bit à bit |
| | Or | OU bit à bit |
^ | Xor | OU exclusif |
~ | Not | Complément à 1 (inversion de bits) |
>> | Shr | Décalage à droite Note: shr est un décalage logique et non arithmétique. Si l'opérande de gauche est une valeur négative ou un type signé alors le résultat d'une opération shr peut ne pas être ce à quoi vous vous attendiez. |
<< | Shl | Décalage à gauche |
++ | Inc | |
-- | Dec | |
/* | { ou (* | Début de commentaire |
*/ | } ou *) | Fin de commentaire |
// | // | Commentaire de fin de ligne (limité à une seule ligne) |
0x | $ | Préfixe pour les nombres en hexadécimal p.ex. $FFFFFF |
0 | & | Préfixe pour les nombres en octal p.ex. &77777777 |
0b | % | Préfixe pour les nombres en binaire p.ex. %11111111 |
& | @ | Opérateur d'adresse |
* | ^ | Voir Pointeur et Pointeurs |
if() | If Then | |
if() else | If Then Else | |
while | While Do | |
do while | Repeat Until Not | |
do while ! | Repeat Until | |
for ++ | For To Do | |
for -- | For Downto Do | |
switch case break | Case Of End | |
switch case break default | Case Of Else End | |
const a_c_struct *arg | Constref arg : a_c_struct | |
a_c_struct *arg | Var arg : a_c_struct |
Type C | Pascal Type | Taille (bits) | Etendue | Notes |
---|---|---|---|---|
char | Char | 8-bit | ASCII | |
signed char | Shortint | 8-bit | -128 .. 127 | |
unsigned char | Byte | 8-bit | 0 .. 255 | |
char* | PChar | (32-bit) | Pointeur sur une chaîne à zéro terminal | |
short int | Smallint | 16-bit | -32768 .. 32767 | |
unsigned short int | Word | 16-bit | 0 .. 65535 | |
int | Integer | (16-bit or) 32-bit | -2147483648..2147483647 | Types entiers génériques |
unsigned int | Cardinal | (16-bit or) 32-bit | 0 .. 4294967295 | Types entiers génériques |
long int | Longint | 32-bit | -2147483648..2147483647 | |
unsigned long int | Longword | 32-bit | 0 .. 4294967295 | |
float | Single | 32-bit | 1.5E-45 .. 3.4E+38 | |
double | Double | 64-bit | 5.0E-324 .. 1.7E+308 |
Type C | Pascal | Notes |
---|---|---|
struct { } | Record End | |
union { } | Record Case Of End | Enregistrement avec variantes |
C | Pascal | Unité |
---|---|---|
abs | Abs | System |
acos | ArcCos | Math |
asin | ArcSin | Math |
atan | ArcTan | System |
atof | StrToFloat | SysUtils |
atoi | StrToInt | SysUtils |
atol | StrToInt | SysUtils |
atoll | StrToInt64 | SysUtils |
ceil | Ceil | Math |
cos | Cos | System |
exp | Exp | System |
floor | Floor | Math |
pow | Power | Math |
round | Round | System |
sin | Sin | System |
sqrt | Sqrt | System |
strcpy | Copy | System |
strlen | Length | System |
tan | Tan | Math |
toupper | UpCase | System |
C++
C++ type | Pascal | Notes |
---|---|---|
class { } | Class End | |
class: { } | Class( ) End | |
template <class T> class { } | Generic = Class<T> End | |
struct { } | Object End | Si vous voulez des méthodes |
Voir aussi
- [1] Court tutoriel qui décrit le processus d'utilisation de code C et C++ dans FreePascal, y compris l'écriture de code enveloppe.
- Création de liaisons pour des bibliothèques C
- Problèmes courants lors de la conversion des fichiers d'entête C
- SWIG
- “comparison of Pascal and C” on the English Wikipedia