Heim  >  Artikel  >  Backend-Entwicklung  >  Warum \'register int x=7;\' anstelle von \'int x=7;\' in C verwenden?

Warum \'register int x=7;\' anstelle von \'int x=7;\' in C verwenden?

DDD
DDDOriginal
2024-10-24 05:48:30785Durchsuche

Why Use 'register int x=7;' Instead of 'int x=7;' in C  ?

Den Unterschied zwischen „int x=7;“ verstehen und 'register int x=7;' in C

Die Schlüsselwörter „int“ und „register“ werden beide in C zum Deklarieren von Variablen verwendet. Das Schlüsselwort „int“ gibt lediglich den Typ der Variablen an (in diesem Fall eine Ganzzahl), während das Schlüsselwort „register“ ein Hinweis für den Compiler ist, der ihn anweist, diese Variable in einem Prozessorregister statt im Speicher zu speichern.

Durch die Verwendung des Schlüsselworts „register“ deutet der Programmierer dem Compiler an, dass die Variable wahrscheinlich häufig verwendet wird und dass die Speicherung in einem Prozessorregister die Leistung verbessern würde. Es ist jedoch wichtig zu beachten, dass der Compiler diesem Hinweis möglicherweise folgen kann oder auch nicht.

Wenn beispielsweise die Variable „x“ nur ein- oder zweimal verwendet wird oder wenn es unwahrscheinlich ist, dass häufig darauf zugegriffen wird, Der Compiler kann sich dafür entscheiden, den „Register“-Hinweis zu ignorieren und stattdessen die Variable im Speicher zu speichern.

Laut Herb Sutter in seinem Artikel mit dem Titel „Keywords That Aren't (or, Comments by Another Name)“:

„Ein Registerspezifizierer hat die gleiche Semantik wie ein Autospezifizierer …“

Diese Aussage impliziert, dass das Schlüsselwort „register“ im Wesentlichen ein Vorschlag für den Compiler ist und dass der Compiler kostenlos ist um zu entscheiden, ob die Variable in einem Prozessorregister gespeichert werden soll oder nicht.

Das obige ist der detaillierte Inhalt vonWarum \'register int x=7;\' anstelle von \'int x=7;\' in C verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn