___ & Adressen suchen und die Werte ändern



  • Hi Community.

    Die erste Frage wird wohl simpel zu beantworten sein (glaube ich). Es handelt sich um diese ___. Was bringen die? In der MSDN steht, dass es daran liegt, dass es mehrere Befehle mit dem gleichen Namen existieren, aber man nur einmal den gleichen Befehl benutzen kann.

    Ein Befehl: z.B. warum schreibt man __forceinline oder _forceinline statt forceinline?

    2. Frage.

    Ich kenne mehrere Programme, die einen Wert im Speicher suchen und dann den Wert verändern können. Wie ist das möglich? Mir ist nur bekannt, wie man neuen Speicher reserviert und ihn wieder sorgfältig räumt.

    mfg Nolf



  • Nolf schrieb:

    Es handelt sich um diese __. Was bringen die?

    ISO/IEC 14882:2003(E) schrieb:

    17.4.3.1.2 Global names [lib.global.names]
    1 Certain sets of names and function signatures are always reserved to the implementation:
    — Each name that contains a double underscore (__) or begins with an underscore followed by an uppercase letter (2.11) is reserved to the implementation for any use.
    — Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace.

    Nolf schrieb:

    In der MSDN steht, dass es daran liegt, dass es mehrere Befehle mit dem gleichen Namen existieren, aber man nur einmal den gleichen Befehl benutzen kann.

    Erstens ist __forceinline ein Visual C++ spezifisches Schlüsselwort, kein "Befehl", zweitens: Hä!?

    Nolf schrieb:

    warum schreibt man __forceinline oder _forceinline statt forceinline?

    Man benutzt __forceinline (2 underscores) statt forceinline , weil es forceinline in Visual C++ nicht gibt...

    Nolf schrieb:

    2. Frage.

    WriteProcessMemory( )

    greetz, Swordfish



  • zu __forceinline: Ich habe nicht geschrieben, dass __forceinline ein Befehl ist 😉
    Außerdem: Ich weis doch, dass es mit forceinline nicht läuft, aber warum haben die ersteller von C++ nicht gleich forceinline benutzt. ich mein man schreibt auch nicht __for 😉

    zu dem Befehl für Memory: thx! ich werde mich darüber informieren.



  • Nolf schrieb:

    Ich weis doch, dass es mit forceinline nicht läuft, aber warum haben die ersteller von C++ nicht gleich forceinline benutzt. ich mein man schreibt auch nicht __for 😉

    Alles, was mit __ beginnt, hat mit dem Sprachstandard C++ nichts, aber auch garnichts zu tun. __forceinline und Konsorten sind Schlüsselwörter, die der Compiler von Microsoft's Visual C++ versteht. Der gcc hingegen wäre mit __attribute__ ((always_inline)) glücklich.
    for hingegen ist ein Schlüsselwort der Sprache C++ (ISO/IEC 14882:2003(E), 6.5.3 The for statement [stmt.for]).

    greetz, Swordfish


Anmelden zum Antworten