Fragen zum Schlüsselwort "register"



  • Hallo,

    mit dem Schlüsselwort "register" kann man Variablen ja direkt in den Registern des
    CPUs speichern, ABER woher weiß ich ob mein Compiler (ich hab MS Visual Studio 08)
    das unterstüzt? Und woher weiß ich wie viel Speicher ich überhaupt hab? 😕

    Danke



  • 123 schrieb:

    mit dem Schlüsselwort "register" kann man Variablen ja direkt in den Registern des CPUs speichern,

    Zuerst soll dir gesagt sein, dass register nur ein Hint an den Compiler ist. Damit sagst du dem Compiler, dass es deiner Meinung nach sinnvoll wäre diese Variable in einem register zu halten. Moderne Compiler dürften das idR ignorieren, da sie meist bessere Optimierungsstrategien mitbringen.

    123 schrieb:

    ABER woher weiß ich ob mein Compiler (ich hab MS Visual Studio 08) das unterstüzt? Und woher weiß ich wie viel Speicher ich überhaupt hab? 😕

    Mit "Speicher" meinst du "freie Register" nehme ich an? Das weiss der Compiler, da er ja auch wissen muss auf welcher Architektur der compilierte, gelinkte Code später laufen muss. "Unterstützen" wird es der Compiler sicher, es ist ja ein Keyword in C, es wird nur, wie oben geschrieben, meist ignoriert.


Anmelden zum Antworten