Les macros se manipulent comme des procédures, mais lors de la compilation le contenu de la macro est remplacé directement dans le code.
L'avantage c'est que tu économises un appel de fonction (et un retour de procedure) lors de l'exécution (gain de vitesse).
Typiquement c'est pratique pour les petites fonctions qui sont plus explicites par un nom que pas leurs contenues.
Par exemple:
Code : Tout sélectionner
Procedure IsPos(x); retourne 1 si x>0, 0 sinon
ProcedureReturn x >> 31+1
EndProcedure
C'est dommage de provoquer un appel de procédure pour ca, mais c'est pratique de la nommer, d'où l'interet des macros.
Mais tu peux utiliser une macro pour des codes plus conséquents au risque de faire grossir la taille de ton exécutable...