Inhaltsverzeichnis:
- Hauptunterschied - Makro- und Inline-Funktion
- Was ist Makro?
- Was ist Inline-Funktion?
- Was ist der Unterschied zwischen Makro- und Inline-Funktion?
- Zusammenfassung - Makro vs Inline-Funktion
Video: Unterschied Zwischen Makro- Und Inline-Funktion
2024 Autor: Mildred Bawerman | [email protected]. Zuletzt bearbeitet: 2023-12-16 08:37
Hauptunterschied - Makro- und Inline-Funktion
Ein Makro ist ein Codefragment, bei dem es sich um eine Präprozessoranweisung handelt. Eine Inline-Funktion ist eine C ++ - Erweiterungsfunktion, um die Ausführungszeit eines Programms zu minimieren. Daher besteht der Hauptunterschied zwischen Makro- und Inline-Funktion darin, dass ein Makro vom Präprozessor überprüft wird, während eine Inline-Funktion vom Compiler überprüft wird.
Am Anfang des Programms befindet sich ein Makro, dem ein Hash-Zeichen vorangestellt ist. Wenn der Makroname im Programm vorhanden ist, wird er durch den Inhalt des Makros ersetzt.
INHALT
1. Übersicht und Hauptunterschied
2. Was ist ein Makro
? 3. Was ist eine Inline-Funktion?
4. Vergleich nebeneinander - Makro- und Inline-Funktion in Tabellenform
5. Zusammenfassung
Was ist Makro?
Der Präprozessor ist ein Programm, das den Quellcode verarbeitet, bevor er den Compiler durchläuft. Es arbeitet mit der Präprozessor-Befehlszeile oder den Anweisungen. Im Programm werden die Präprozessoranweisungen im Quellprogramm vor dem Hauptprogramm platziert. Bevor der Quellcode den Compiler durchläuft, wird er vom Präprozessor auf Präprozessoranweisungen überprüft. Die Präprozessoranweisungen haben das Symbol #. Im Gegensatz zu anderen Anweisungen enden sie nicht mit einem Semikolon. Eine Art von Präprozessor-Direktive ist Makro. Im Allgemeinen werden die Makros in Großbuchstaben geschrieben.
Abbildung 01: C ++ - Programm mit Makros
Gemäß dem obigen Programm zeigen Zeile 3 und Zeile 4 Makros an. Bei der Berechnung der Fläche wird der PI-Wert durch das definierte Makro ersetzt. In Zeile 14, Volumen = CUBE (Wert), erweitert der Präprozessor die Anweisung als Volumen = (Wert * Wert * Wert). Das Finden des Würfels kann als Funktion geschrieben werden, aber hier wird er mit einem Makro geschrieben. Wenn es eine Anweisung als volume = CUBE (x + y) gibt, wird sie zu volume = (x + y * x + y * x + y) erweitert.
Einige Programmiertoken können leicht falsch eingegeben werden. Sie können durch Makros ersetzt werden. zB #define AND &&, #define OR ||. Eine Makrodefinition kann auch Ausdrücke wie #define AREA 4 * 5.56 enthalten.
Was ist Inline-Funktion?
Wenn eine Funktion aufgerufen wird, benötigt der Compiler einige Zeit, um sie auszuführen. Wenn die Funktion nicht sehr komplex ist, kann der Programmierer die Funktion in eine Inline-Funktion konvertieren. Siehe das folgende Programm.
Abbildung 02: Funktion ohne Inline
Das print_hello ist eine einfache Funktion. Beim Aufruf der Funktion wird die Zeichenfolge „Hallo“ausgegeben. Die Ausführungszeit für diese Funktion beträgt 0,187 s. Wenn Sie das Inline-Schlüsselwort wie folgt verwenden, reduziert sich die Ausführungszeit auf 0,064 Sekunden.
Abbildung 03: Inline-Funktion
Durch die Verwendung des Inline-Schlüsselworts wird daher die Ausführungszeit verkürzt. Die Inline-Funktionen funktionieren möglicherweise nicht, wenn Schleifen, switch-Anweisungen vorhanden sind und die Funktion statische Variablen oder rekursive Funktionen enthält.
Was ist der Unterschied zwischen Makro- und Inline-Funktion?
Diff Artikel Mitte vor Tabelle
Makro vs Inline-Funktion |
|
Ein Makro ist ein Codefragment, bei dem es sich um eine Präprozessoranweisung handelt, die am Anfang des Programms mit einem Hashzeichen vorangestellt ist. | Eine Inline-Funktion ist eine C ++ - Erweiterungsfunktion, um die Ausführungszeit eines Programms zu minimieren. |
Auswertungszeit | |
Im Makro wird das Argument jedes Mal ausgewertet, wenn es im Programm verwendet wird. | Inline wird das Argument einmal ausgewertet. |
Geprüft von | |
Ein Makro wird vom Präprozessor geprüft. | Eine Inline-Funktion wird vom Compiler geprüft. |
Stichwort | |
Marco benutzt #define. | Die Inline-Funktion verwendet das Schlüsselwort 'Inline'. |
Verwendungszweck | |
Makro kann verwendet werden, um Konstanten, Ausdrücke, für die Substitution von wörtlichem Text zu definieren und Funktionen usw. zu definieren. | Eine Inline-Funktion kann verwendet werden, um die Ausführungszeit des Programms zu minimieren. |
Beendigung | |
Das Makro endet mit der neuen Zeile. | Die Inline-Funktion endet mit der geschweiften Klammer am Ende der Inline-Funktion. |
Punkt definieren | |
Ein Marco wird zu Beginn des Programms definiert. | Eine Inline-Funktion kann sich innerhalb oder außerhalb der Klasse befinden. |
Zusammenfassung - Makro vs Inline-Funktion
In diesem Artikel wurde der Unterschied zwischen Makro- und Inline-Funktion erläutert. Diese Konzepte werden in der C ++ - Programmierung verwendet. Der Unterschied zwischen Makro- und Inline-Funktion besteht darin, dass ein Makro vom Präprozessor überprüft wird, während eine Inline-Funktion vom Compiler überprüft wird.
Empfohlen:
Unterschied Zwischen Symmetrischen Und Asymmetrischen Topmolekülen
Der Hauptunterschied zwischen symmetrischen und asymmetrischen Topmolekülen besteht darin, dass symmetrische Topmoleküle eine richtige Rotationsachse und zwei Trägheitsmomente haben
Unterschied Zwischen Transgenen Und Knockout-Mäusen
Der Hauptunterschied zwischen transgenen und Knockout-Mäusen besteht darin, dass transgene Mäuse fremde Gene in ihr Genom eingefügt haben, während Knockout-Mäuse eine Funktion haben
Unterschied Zwischen Block- Und Inline-Elementen
Hauptunterschied - Block vs Inline Elements HTML steht für Hyper Text Markup Language. Es wird zum Erstellen von Webseiten verwendet. Jede Webseite ist mit einer anderen verbunden
Unterschied Zwischen Dem Hauptunterschied Zwischen Metallischen Und Nichtmetallischen Mineralien
Hauptunterschied - Metallische und nichtmetallische Mineralien Ein Mineral ist ein natürlich vorkommender fester und anorganischer Bestandteil mit einer bestimmten chemischen Formel
Unterschied Zwischen Unterschied Und Unterschied
Unterschied gegen Unterschied Unterschied gegen Unterschied Die Wörter Unterschied und Unterschied haben dieselbe Bedeutung, obwohl es einen entscheidenden Unterschied zwischen ihnen gibt