VC++6 vs. VC++7 probleme mit char*



  • hallo zusammen!

    Ich habe eine Applikation in vc++6 mit großteils mfc klassen geschrieben. nun will ich das Programm auf c++7 portieren, das klappt auch zum Großteil aber nur eine sache geht nicht und ich komm nicht drauf warum.
    Also: Ich habe da unter anderem ein char temp2[8] , das ich verwende. Das Programm läßt sich kompilieren und linken, läuft also aber dann kommt bei einer bestimmten Aktion eben ein RuntimeError.

    Beim Debuggen: Die komplette funktion wird auch richtig ausgeführt und ganz am Ende der function wo gar kein code mehr steht kommt folgende Meldung:

    "Run-Time Check Failure #2 - Stack around the variable 'temp4' was corrupted."

    In VC++6 gehts aber.... weiß jemand warum das so ist??

    lg
    l00P



  • Ferhlerhafter Code der einen Speicherüberlauf erzeugt bzw. über arraygrenzen hinausschreibt. *möglichkeit*



  • ja das steht ja schon dort aber warum geht das programm in der einen version aber nicht bei der version 7??

    Hab schon alles probiert...free und delete und initialisieren - nix geht 😞

    danke,
    l00P



  • Knuddlbaer schrieb:

    Ferhlerhafter Code

    Die Kristallkugel ist leider z.Z. ausser Betrieb. Aber wenn Du mal etwas source postest könnte man mehr erkennen.

    Ansonsten ist es dem Compiler überlassen wie er mit fehlerhaften code umgeht.
    Die Frage zu klären warum der eine das macht und der andere jenes bringt Dich nicht weiter. Lieber den Fehler finden....



  • Der VC++ 7 ist z.B. besser und nähere dem Standard.
    Warnstufe mal hochschalten und warnungen beachten.

    Wenn er gleich dem Vc++ 6 wäre würde er ja nicht als Vc++ 7 verkauft werden.
    Und wie gesagt: Mit fehlern geht jeder anders um.



  • ok, danke...


Anmelden zum Antworten