Nach compilen schreiben/lesen



  • Hi,
    wenn ich in einem Programm z.B.

    #define Test 3
    

    eintippe und es dann compile. Kann man dann irgendwie noch den Wert ändern bzw. lesen?

    Bye


  • Mod

    Kann man dann irgendwie noch den Wert ändern bzw. lesen?

    Der Präprozessor (zu dem die #define -Direktive gehört) ist ein reines Text-Ersetzungs Tool. Du wirst natürlich den Namen Test in der ausführbaren Datei nicht wiederfinden können, ggf. aber die Konstante 3 .

    Übrigens sollte man Makros nicht statt (konstanten) Variablen verwenden.



  • Also kann man Werte (auch Variablen) die man abspeichert nicht ändern bzw. lesen?


  • Mod

    Frag mal genau, was du möchtest. Das ist gerade eher blurry333'eskes Rätselraten bei deinen Fragen.



  • Ich lege jetzt in einem Programm z.B. eine Variable (int a = 4) an.
    Kann man die nach dem compilen irgendwie noch ändern bzw. lesen.


  • Mod

    Kann man die nach dem compilen irgendwie noch ändern bzw. lesen.

    Natürlich kannst du das. Das passiert während der Laufzeit des Programms. Nur existiert da der Name a nicht mehr; stattdessen spricht man die Variablen über einen Offset vom Framepointer (oder mit FPO vom Stackpointer) an.



  • Ich habe vergessen zu schreiben, ob man das auch von einem anderen Programm machen kann 🙂


  • Mod

    LightBoom schrieb:

    Ich habe vergessen zu schreiben, ob man das auch von einem anderen Programm machen kann 🙂

    Kannst du deine Frage präzisieren? Wofür brauchst du das? Worum genau handelt es sich - suchst du IPC?



  • Theoretisch ja, aber normalerweise geht das einfacher. Beschreib doch mal GENAU was du vorhast.



  • Auf Windows gibt es das Programm Cheatengine.



  • Also ich will Variablen aus einem anderen Programm auslesen, mehr nicht
    Also aus meinen Programmen



  • Am Besten änderst du das Programm, so dass es die erforderlichen Daten über eine Schnittstelle nach Außen liefert.



  • Wie soll das klappen? Schließlich sind die Betriebssysteme unterschiedlich und nicht das man dann es so programmiert das es nur unter Windows läuft 🙂



  • LightBoom schrieb:

    Wie soll das klappen? Schließlich sind die Betriebssysteme unterschiedlich und nicht das man dann es so programmiert das es nur unter Windows läuft 🙂

    Der Begriff IPC ist doch schon gefallen.
    Welche Technik du da genau einsetzt bleibt dir überlassen, TCP/IP funktioniert Betriebssystem-übergreifend.
    Du bleibst uns aber immer noch die Antwort auf die Frage schuldig, was genau du eigentlich machen willst. Ohne die notwendigen Information bleibt das hier ein lustiges Ratespiel.


Log in to reply