Cette page décrit les définitions possibles lors de la compilation de programmes utilisant Free Pascal. Une brève explication de la
définition et du moment où elle est utilisée est également donnée.
Définition |
Description |
FPC_LINK_DYNAMIC |
Défini quand la sortie sera liée dynamiquement. Ceci est défini lors de l'utilisation du commutateur du compilateur -XD. |
FPC_LINK_STATIC |
Défini quand la sortie sera liée statiquement. C'est le mode par défaut. |
FPC_LINK_SMART |
Défini quand la sortie sera connectée de manière intelligente. Ceci est défini lors de l'utilisation du commutateur du compilateur -XX. |
FPC_PROFILE |
Défini lorsque le code de profilage est ajouté au programme. Ceci est défini lors de l'utilisation du commutateur du compilateur -pg. |
FPC_CROSSCOMPILING |
Défini lorsque le système d'exploitation/microprocesseur cible est différent du système d'exploitation/microprocesseur source. |
FPC |
Toujours défini pour Free Pascal. |
VER2 |
Toujours défini pour Free Pascal version 2.x.x. |
VER2_0 |
Toujours défini pour Free Pascal version 2.0.x. |
VER2_2 |
Toujours défini pour Free Pascal version 2.2.x. |
VER3 |
Toujours défini pour Free Pascal version 3.x.x. |
VER3_0 |
Toujours défini pour Free Pascal version 3.0.x. |
VER3_2 |
Toujours défini pour Free Pascal version 3.2.x. |
FPC_VERSION |
Contient le numéro de version majeure de FPC. |
FPC_RELEASE |
Contient le numéro de version mineure de FPC. |
FPC_PATCH |
Contient la troisième partie du numéro de version de FPC. |
FPC_FULLVERSION |
Contient le numéro de version complet de FPC sous la forme d'un numéro unique qui peut être utilisé à des fins de comparaison. Pour FPC 2.2.4, il contiendra 20204. |
ENDIAN_LITTLE |
Défini lorsque la cible Free Pascal est un processeur en petit-boutiste (80x86, Alpha, ARM). |
ENDIAN_BIG |
Défini lorsque la cible Free Pascal est un processeur en gros-boutiste (680x0, PowerPC, SPARC, MIPS). |
FPC_DELPHI |
Free Pascal est en mode Delphi, soit en utilisant le commutateur du compilateur -MDelphi, soit en utilisant la directive $MODE DELPHI. |
FPC_OBJFPC |
Free Pascal est en mode OBJFPC, soit en utilisant le commutateur du compilateur -Mobjfpc, soit en utilisant la directive $MODE OBJFPC. |
FPC_TP |
Free Pascal est en mode Turbo Pascal, soit en utilisant le commutateur du compilateur -Mtp, soit en utilisant la directive $MODE TP. |
FPC_MACPAS |
Free Pascal est en mode Mac Pascal, soit en utilisant le commutateur du compilateur -Mmacpas, soit en utilisant la directive $MODE MACPAS. |
Définition |
Description |
CPU86 |
La cible Free Pascal est un Intel 80x86 ou compatible (16 et 32 bits). |
CPU87 |
La cible Free Pascal est un Intel 80x86 ou compatible (16 et 32 bits). |
CPU386 |
La cible Free Pascal est un Intel 80386 ou version ultérieure. |
CPUI386 |
La cible Free Pascal est un Intel 80386 ou version ultérieure. |
CPU68K |
La cible Free Pascal est un Motorola 680x0 ou compatible. |
CPUM68K |
La cible Free Pascal est un Motorola 680x0 ou compatible. |
CPUM68020 |
La cible Free Pascal est un Motorola 68020 ou version ultérieure. |
CPU68 |
La cible Free Pascal est un Motorola 680x0 ou compatible. |
CPUSPARC32 |
La cible Free Pascal est un SPARC v7 ou compatible. |
CPUSPARC |
La cible Free Pascal est un SPARC v7 ou compatible. |
CPUALPHA |
La cible Free Pascal est un Alpha AXP ou compatible. |
CPUPOWERPC |
La cible Free Pascal est un PowerPC 32 bits ou 64 bits ou compatible. |
CPUPOWERPC32 |
La cible Free Pascal est un PowerPC 32 bits ou compatible. |
CPUPOWERPC64 |
La cible Free Pascal est un PowerPC 64 bits ou compatible. |
CPUX86_64 |
La cible Free Pascal est un microprocesseur AMD64 ou Intel 64 bits. |
CPUAMD64 |
La cible Free Pascal est un microprocesseur AMD64 ou Intel 64 bits. |
CPUX64 |
La cible Free Pascal est un microprocesseur AMD64 ou Intel 64 bits |
CPUIA64 |
La cible Free Pascal est un microprocesseur Intel Itanium 64 bits. |
CPUARM |
La cible Free Pascal est un microprocesseur ARM 32 bits. |
CPUAVR |
La cible Free Pascal est un microprocesseur AVR 16 bits. |
CPU16 |
La cible Free Pascal est un microprocesseur 16 bits. |
CPU32 |
La cible Free Pascal est un microprocesseur 32 bits. |
CPU64 |
La cible Free Pascal est un microprocesseur 64 bits. |
CPUI8086 |
Indique une cible x86 16 bits (i8086) |
Définition |
Description |
FPUSOFT |
Émulation logicielle de FPU (tous types). |
FPUSSE64 |
FPU SSE64 sur Intel I386 et supérieur, AMD64. |
FPUSSE |
Instructions SSE sur Intel I386 et supérieur. |
FPUSSE2 |
Instructions SSE 2 sur Intel I386 et supérieur. |
FPUSSE3 |
Instructions SSE 3 sur Intel I386 et supérieur, AMD64. |
FPULIBGCC |
Émulation FPU de la bibliothèque GCC sur ARM et M68K. |
FPU68881 |
68881 sur M68K. |
FPUFPA |
FPA sur ARM. |
FPUFPA10 |
FPA 10 sur ARM. |
FPUFPA11 |
FPA 11 sur ARM. |
FPUVFP |
VFP sur ARM. |
FPUX87 |
FPU X87 sur Intel I8086 et supérieur. |
FPUITANIUM |
Sur Intel Itanium. |
FPUSTANDARD |
Sur PowerPC (32/64 bits). |
FPUHARD |
Sur Sparc. |
Sur MS-DOS en 16 bits, le modèle de mémoire utilisé pour compiler le programme est défini dans l'une des définitions FPC_MM_TINY, FPC_MM_SMALL,
FPC_MM_MEDIUM, FPC_MM_COMPACT, FPC_MM_LARGE, FPC_MM_HUGE.
Définition |
Fonctionnalité |
FPC_HAS_FEATURE_HEAP |
Gestion dynamique de la mémoire |
FPC_HAS_FEATURE_INITFINAL |
Initialisation et finalisation |
FPC_HAS_FEATURE_RTTI |
Informations RTTI |
FPC_HAS_FEATURE_CLASSES |
Classes |
FPC_HAS_FEATURE_EXCEPTIONS |
Prise en charge des exceptions |
FPC_HAS_FEATURE_EXITCODE |
Code de sortie du programme |
FPC_HAS_FEATURE_ANSISTRINGS |
AnsiString |
FPC_HAS_FEATURE_WIDESTRINGS |
WideString |
FPC_HAS_FEATURE_TEXTIO |
Entrée/sortie de fichier texte |
FPC_HAS_FEATURE_CONSOLEIO |
Entrée/sortie de la console |
FPC_HAS_FEATURE_FILEIO |
Entrée/sortie de fichier brut |
FPC_HAS_FEATURE_RANDOM |
Fonction aléatoire |
FPC_HAS_FEATURE_VARIANTS |
Prise en charge des variantes |
FPC_HAS_FEATURE_OBJECTS |
Prise en charge des objets Turbo Pascal |
FPC_HAS_FEATURE_DYNARRAYS |
Tableaux dynamiques |
FPC_HAS_FEATURE_THREADING |
Prise en charge des processus légers |
FPC_HAS_FEATURE_COMMANDARGS |
Prise en charge des paramètres de ligne de commande |
FPC_HAS_FEATURE_PROCESSES |
Prise en charge de l'exécution des processus |
FPC_HAS_FEATURE_STACKCHECK |
Vérification de la pile |
FPC_HAS_FEATURE_DYNLIBS |
Chargement dynamique de la bibliothèque |
FPC_HAS_FEATURE_SOFTFPU |
Émulation logicielle FPU |
FPC_HAS_FEATURE_OBJECTIVEC1 |
Prise en charge de l'Objective C |
FPC_HAS_FEATURE_RESOURCES |
Soutien aux ressources |
FPC_HAS_FEATURE_UNICODESTRINGS |
Prise en charge des chaînes de caractères Unicode |
Définition |
Fonctionnalité |
FPC_HAS_WINLIKERESOURCES |
Ressource de type Windows |
FPC_HAS_TYPE_EXTENDED |
Type à virgule flottante étendu |
FPC_HAS_TYPE_DOUBLE |
Type à virgule flottante double |
FPC_HAS_TYPE_SINGLE |
Type à virgule flottante unique |
FPC_HAS_TYPE_FLOAT128 |
Type à virgule flottante 128 bits |
FPC_HAS_INTERNAL_ABS_SHORTINT |
Gestion interne d'Abs() pour shortint (8 bits) |
FPC_HAS_INTERNAL_ABS_SMALLINT |
Gestion interne d'Abs() pour smallint (16 bits) |
FPC_HAS_INTERNAL_ABS_LONG |
Gestion interne d'Abs() pour l'entier long (32 bits) |
FPC_HAS_INTERNAL_ABS_INT64 |
Gestion interne d'Abs() pour int64 (64 bits) |
FPC_HAS_UNICODESTRING |
Type de chaîne de caractères Unicode |
FPC_HAS_CPSTRING |
Type de chaîne de caractères de page de codes |
FPC_HAS_RIP_RELATIVE |
Adressage relatif |
FPC_HAS_CEXTENDED |
Type étendu C |
FPC_HAS_RESSTRINITS |
Initialisation des chaînes de caractères de ressources |
FPC_HAS_INTERNAL_ROX |
Commande ROX interne |
FPC_HAS_LWSYNC |
Synchronisation |
FPC_HAS_INTERNAL_SAR |
Commande SAR interne |
FPC_HAS_OPERATOR_ENUMERATOR |
Assistance aux opérateurs enquêteurs |
FPC_HAS_CONSTREF |
Prise en charge des mots clefs Constref |
FPC_HAS_MEMBAR |
Prise en charge de la barrière mémoire |
FPC_HAS_FEATURE_SUPPORT |
Prise en charge de HAS_FEATURE_ |
FPC_HAS_INTERNAL_BSF |
Support interne pour BSF |
FPC_HAS_INTERNAL_BSR |
Support interne pour BSR |
FPC_HAS_FAST_FMA_SINGLE |
FMA à virgule flottante rapide pour les nombres réels de simple précision. |
FPC_HAS_FAST_FMA_DOUBLE |
FMA à virgule flottante rapide pour les nombres réels de double précision. |
FPC_HAS_INDIRECT_ENTRY_INFORMATION |
Prise en charge des informations d'entrée indirecte |
FPC_HAS_DYNAMIC_PACKAGES |
Prise en charge des paquets dynamiques |
FPC_HAS_INDIRECT_VAR_ACCESS |
Accès indirect aux variables |