COMPILE commande

Syntaxe :

COMPILE [battements][,drapeauxCompilation]

Description :

Bien qu’il soit possible de placer vos instructions de compilation dans votre code source, ceci est accompli d’une meilleure façon en sélectionnant les options dans la fenêtre des Préférences de l’Editeur. L’introduction d’instructions de compilation dans le code source annule les réglages réalisés dans les Préférences de l’Editeur.

La commande COMPILE est utilisée pour modifier la manière dont un programme est compilé. La commande est optionnelle : si vous l’utilisez, elle ne doit pas figurer plus d’une fois dans le code source de votre programme, excepté lorsqu’elle se trouve à l’intérieur des branchements conditionnels d’un bloc COMPILE LONG IF. C’est une commande non-exécutable, par conséquent vous ne pouvez changer son effet en la plaçant dans une structure d’exécution conditionnelle telle que LONG IF…END IF. Toutefois, vous pouvez l’inclure ou l’exclure conditionnellement de votre programme en la plaçant dans un bloc COMPILE LONG IF.

La commande COMPILE est typiquement la première commande dans un programme.

Le paramètre battements
fixe le nombre de battements d’horloge entre les appels du système.

Le paramètre drapeauxCompilation
est une liste d’un ou plusieurs noms de constantes symboliques (séparés par des espaces) choisis dans la liste décrite ci-après. drapeauxCompilation peut également être constitué d’une seule constante sur un entier représentant la somme de toutes les constantes symboliques choisies.


Drapeau
Valeur
Description
Par défaut
_pointerVars
1
Alloue un pointeur dans le heap de l'application pour les variables (ne s'applique que pour la compilation de ressources code)
Alloue un handle dans le heap de l'application.
_sysHeapVars
2
Alloue un handle dans le heap du système pour les variables (ne s'aaplique que pour la compilation de ressources code)
Alloue un handle dans le heap de l'application.
_macsBugLabels
4
Génère les informations nécessaires pour que MacsBug puisse afficher les étiquettes de votre programme et les noms des fonctions. Cette particularité est très utile pour le débogage, mais elle rend votre code compilé légèrement plus volumineux.
Aucune information pour MacsBug n'est générée.
_strResource
8
Stocke toutes les chaînes littérales trouvées à l'intérieur du programme dans une ressource STR#.
Pas de ressource STR# créée.
_dimmedVarsOnly
32
Génère une erreur si une variable est rencontrée avant qu'elle ne soit explicitement déclarée par une instruction DIM.
Les déclarations DIM ne sont pas requises pour les variables qui ne sont ni des tableaux, ni des records (les variables simples sont implicitement déclarées).
_noRedimVars
64
Génère une erreur si une instruction DIM contient une variable qui a été précédemment déclarée avec la même portée (éventuellement par une autre instruction DIM)
Les redéclarations de variables sont ignorées.
_dontOptimizeStr
256
Empêche le compilateur de supprimer les chaînes en double lorsqu'il crée des ressources STR# dans une application. Ceci ne n'applique que lorsque le drapeau _strResource a été aussi positionné.
Le compilateur supprime les chaînes en double.
_chgConfig
32768
Demande au compilateur de changer les options spécifiées dans le dialogue "Préférences" durant le processus de compilation du programme.
Les préférences du dialogue sont utilisées.
_includeCDEF
65536
Ajoute une ressource CDEF personnalisée (pour le texte en Geneva 9 points dans les contrôles) à l'application compilée.
N'ajoute pas la ressource CDEF
_includeMDEF
262144
Ajoute une ressource MDEF personnalisée (pour le texte des menus en Geneva 9 points) à l'application compilée.
N'ajoute pas la ressource MDEF.
_includeWDEF
524288
Ajoute une ressource WDEF personnalisée (pour les fenêtres palettes) à l'application compilée.
N'ajoute pas la ressource WDEF
_toobloxCallRequired
268435456
Génère une erreur si les références aux procédures de la Toolbox ne sont pas précédées par le mot-clé CALL.
Le mot-clé CALL est optionnel.
_toolboxCallNotRequired
536870912
Le mot-clé CALL est optionnel avec les appels aux procédures de la Toolbox. C'est équivalent à la valeur par défaut.
Le mot-clé CALL est optionnel.

Exemple :

L’exemple suivant demande au compilateur de générer les étiquettes du programme et les noms de fonctions pour MacsBug, il lui demande également de vérifier que toutes les variables sont explicitement déclarées avant leur utilisation. battements est ignoré si le code généré est une application.

COMPILE 0, _MacsBugLabels _dimmedVarsOnly

Voir Aussi :