Les directives du compilateur
DescriptionCompilerIf <expression constante> ... [CompilerElse] ... CompilerEndIf
Si le résultat <expression constante> est vrai, le code inclus dans la structure 'If' sera compilé, sinon il sera totalement ignoré. Cette directive permet de construire des programmes multi-plateformes en personnalisant des parties du code source avec des fonctions spécifiques pour chaque système d'exploitation.Exemple:
CompilerIf #PB_Compiler_OS = #PB_OS_Linux ; code spécifique Linux.. CompilerEndIf
CompilerSelect <constante numérique>
CompilerCase
...
[CompilerElse]
...
[CompilerDefault]
...
CompilerEndSelect
DescriptionFonctionne exactement comme un Select : EndSelect classique en opérant une compilation conditionnelle. Cette directive permet de construire des programmes multi-plateformes en personnalisant des parties du code source avec des fonctions spécifiques pour chaque système d'exploitation.Exemple:
CompilerSelect #OS CompilerCase #AmigaOS ; code spécifique Amiga CompilerCase #Linux ; code spécifique Linux CompilerEndSelect
DescriptionCompilerError <message>
Génère une erreur, comme si c'était une erreur de syntaxe et affiche le message spécifié. Ceci peut être utile pour faire des routines spécifiques et indiquer qu'elles ne sont pas disponibles pour un OS particulier.Exemple:
CompilerIf #PB_Compiler_OS = #PB_OS_AmigaOS CompilerError "AmigaOS n'est pas supporté, désolé." CompilerElse CompilerError "OS Supporté, vous pouvez me mettre en commentaire." CompilerEndIf
DescriptionEnableExplicit DisableExplicit
Active ou désactive le mode explicite. Quand il est actif, toutes les variables qui ne sont pas explicitement déclarées avec Define, Global, Protected, Static ou Shared ne seront pas acceptées par le compilateur et génèreront une erreur. Cela peut aider à éviter les erreurs de frappe.Exemple:
EnableExplicit Define a a = 20 ; Ok, car déclaré avec 'Define' b = 10 ; Erreur
DescriptionEnableASM DisableASM
Active ou désactive l'assembleur en ligne. Quand il est actif, toutes les commandes assembleur sont incluses directement dans le code source, pour plus d'informations référez vous à la page L'assembleur en ligne.Exemple:
; Exemple assembleur x86 ; Test = 10 EnableASM MOV dword [v_Test],20 DisableASM Debug Test ; Affichera 20
Constantes prédéfinies
Le compilateur PureBasic déclare automatiquement plusieurs constantes avant chaque compilation
pour donner plus d'informations sur l'environnement de développement:
- #PB_Compiler_OS: Permet de savoir sur quelle plateforme est exécuté le compilateur
- #PB_OS_Windows : Le compilateur est exécuté sur Windows
- #PB_OS_Linux : Le compilateur est exécuté sur Linux
- #PB_OS_AmigaOS : Le compilateur est exécuté sur AmigaOS
- #PB_OS_MacOS : Le compilateur est exécuté sur Mac OS X
#PB_Compiler_Date : La date actuelle, au moment de la compilation, au format date PureBasic.
#PB_Compiler_File : Chemin complet et nom du fichier en cours de compilation, utile pour debogguer.
#PB_Compiler_Line : Numéro de la ligne du fichier en cours de compilation, utile pour debogguer.
#PB_Compiler_Procedure: Nom de la procédure actuelle, si la ligne est à l'intérieur d'une procédure.
#PB_Compiler_Version : Version du compilateur, nombre flottant sous la forme '4.00'.
#PB_Compiler_Home : Chemin complet du répertoire PureBasic, utile pour localiser des fichiers inclus
#PB_Compiler_Debugger : Egal à 1 si le débogueur est activé, égal 0 sinon. Quand un exécutable est
créé, le débogueur est toujours désactivé (cette constante sera égale à 0).
#PB_Compiler_Thread : Egal à 1 si l'exécutable est compilé en mode 'multi-threadé', égal à 0 sinon.
#PB_Compiler_Unicode : Egal à 1 si l'exécutable est compilé en mode unicode, égal à 0 sinon.