Quelle est la différence entre la macro et la fonction inline

P

phanikumar

Guest
Salut quelle est la différence entre macro et les fonctions inline.
 
vérifiez doesnt macro pour les erreurs syntaxiques d'inline il est de vérifier syntaxique .....
 
Utilisation des macros est toujours remplacé par le code réel (c'est à dire qu'ils sont toujours en bordée) Alors que sa place pour le compilateur pour décider de remplacer l'appel à la fonction inline code de fonction ou de la garder comme appel de fonction. Il ya quelques règles à suivre pour s'assurer que votre fonction inline est remplacé par son code, mais même après avoir suivi ces lignes directrices de son pas garanti.
 
Bien que les fonctions inline sont similaires aux macros (parce que le code de fonction est élargi au point de l'appeler au moment de la compilation), les fonctions inline sont analysés par le compilateur, alors que les macros sont développées par le préprocesseur. En conséquence, il existe plusieurs différences importantes: * fonctions Inline suivre tous les protocoles de sécurité de type appliquée sur les fonctions normales. * Les fonctions inline sont spécifiées en utilisant la même syntaxe que toute autre fonction, sauf qu'ils comprennent le mot-clé inline dans la déclaration de fonction. * Les expressions passées comme arguments à des fonctions inline sont évaluées une fois. Dans certains cas, les expressions passées comme arguments à des macros peuvent être évalués plus d'une fois.
 
macros ne faites pas de la part de segment de mémoire de code, mais les fonctions inline sont une partie du segment de code. Extension Macro est une activité à temps et à la résolution preprosessing fonction inline (si elle accepte la demande de ligne ou non) est une activité de la compilation.
 
macros sont utilisées, si le calendrier est plus important tandis que les fonctions inline sont utilisés lors de l'utilisation de mémoire est plus importante
 
Une macro en informatique est une abstraction, par laquelle un certain modèle textuel est remplacé conformément à un ensemble défini de règles. L'interprète ou le compilateur remplace automatiquement le modèle quand il est rencontré. Dans les langages compilés, macro-expansion arrive toujours au moment de la compilation. L'outil qui effectue l'expansion est parfois appelé un macro-expanseur. Le terme macro est utilisée dans de nombreux contextes similaires qui sont dérivées de la notion de macro-expansion, y compris les macros de clavier et des langues macro. Dans la plupart des situations, l'utilisation du mot «macro» implique l'expansion d'une petite commande ou une action dans un plus grand ensemble d'instructions. Le but de macros est soit d'automatiser des séquences fréquemment utilisées ou activer une abstraction plus puissante - mais elles sont souvent la même chose. En informatique, une fonction inline est un langage de programmation utilisé pour construire suggérer à un compilateur qu'une fonction particulière sera soumis à l'expansion en ligne, c'est qu'elle suggère que le compilateur d'insérer le corps complet de la fonction dans chaque contexte où cette fonction est utilisée.
 
1. les macros sont traitées par le préprocesseur alors les fonctions inline sont traitées par le compilateur. 2. les macros sont légèrement plus rapide 3. Arguments pour les fonctions inline sont typées, donc compilateur peut demander un certain type vérifiant que les appels de fonction. Macro n'est pas de type contrôlée et n'évalue pas les arguments, mais prend simplement la chaîne passée à la macro et de remplacer chaque occurrence de l'argument de macro dans le texte de macro avec chaîne réelle pour ce paramètre. Il peut vous donner des résultats parfois très surpising.
 

Welcome to EDABoard.com

Sponsor

Back
Top