Erzwungene Friend Klasse



  • volkard schrieb:

    Simon2 schrieb:

    Da bin ich mir nach Draveres letzten Posts nicht so sicher. Wenn er ein Programm schreiben will, was ein anderes (gekauftes ?) Programm emuliert, ist das gar nicht so wahrscheinlich.

    wenn du vor der dominanz des ms-compilers die augen nicht verschließt, ist es wieder wahrscheinlich.

    Hmmm, naja, die Programme, mit denen ich hauptsächlich zu tun habe, sind in der Mehrheit mit IBM-Compiler oder gcc gewandelt (allerdings stimmt natürlich, dass es sich dabei nicht um Windows-Anwendungen handelt) und nur die absolute Minderheit mit Microsoft (meist nur Mini-TestProgramme). 😃
    Deswegen bin ich halt nicht so drauf gekommen.

    Gruß,

    Simon2.



  • Dravere schrieb:

    Die DLL ist aber von mir 😛

    Also für Simon2 nochmals, was ich genau machen will bzw. tue ^^
    ...
    Jetzt verstanden?

    Grüssli

    Ja !
    Vielen dank für Deine Erklärung ! 😋 👍

    Ich würde trotzdem versuchen, entweder mit Debugger oder mit Tracing zu arbeiten.

    Für den Debugger muß man natürlich die Fehlersituationen einigermaßen rekonstruieren können - aber das gilt für Deine "Überwachungsklassen" auch. Eigentlich willst Du mit denen ja auch einen "Debugger" schreiben.

    "Tracingmöglichkeiten" vorzusehen, ist eigentlich immer eine gute Idee, aber natürlich auch aufwendig - aber da Du anscheinend sowieso immer wieder das Programm anpasst (zur Fehlerbehebung), kannst Du das nach und nach erweitern.

    Das Problem bei Deinen Hacks ist einfach, dass Du Dir nie ganz sicher sein kannst, ob das, was "Dein Debugger" Dir liefert, wirklich den Speicherinhalten entspricht, oder nur ein Problem mit Deinem Hack.

    Aber ich denke, zu diesem Thema ist hier eigentlich alles gesagt und Du weißt alles, was Du brauchst.

    Viel Erfolg und Spaß wünscht,

    Simon2.



  • Welche IDE verwendest du denn?
    Mit dem MS Visual Studio kannst du doch direkt die DLL debuggen, in dem du sie ausführen läßt (natürlich als Debug-Version kompiliert) und dann gibst du beim Start das Hauptprogramm an und los geht's mit der Fehlersuche...



  • volkard schrieb:

    CStoll schrieb:

    Der Standard schreibt afaik vor, daß Member einer Schutzebene in der richtigen Reihenfolge im Speicher stehen

    was? wozu das denn? nee, das glaub ich net. würde ja ohne not jeden optimierer ausbremsen.

    Guckst du 9.2/12:

    Nonstatic data members of a (non-union) class declared without an
    intervening access-specifier are allocated so that later members have
    higher addresses within a class object. The order of allocation of
    nonstatic data members separated by an access-specifier is unspecified
    (11.1). Implementation alignment requirements might cause two adjacent
    members not to be allocated immediately after each other; so might
    requirements for space for managing virtual functions (10.3) and
    virtual base classes (10.1).


Anmelden zum Antworten