volatile????
-
Hi,
kann mir einer helfen...ich hab hier nen für mich noch nicht dagewesenen fehler, dessen grund ich nicht nachvollziehen kann...
Ein tip würde schon reichen.Die folgende Zeilen in meinem Programm werden offensichtlich beim compilieren
wegoptimiert. Nach der übersetzung werden mir fehler in völlig anderen zeilen angezeigt. Die Warning für (volatile int) wird 3 zeile vorher angezeigt. Und auch wenn ich debuge springe ich in z.B. Leerzeilen und kann diese ausführen. Im Speicher fehlen einfach diese zeilen.
So richtig weiss ich nicht weiter.if ((volatile int*)&err.error==MOBY_OK)
{
WaitForSingleObject(sync,INFINITE);
err.error=(volatile int) err1.error;
}danke
-
Mach mal einen Rebuild All ... Dein VS ist irgendwo durcheinander gekommen.
-
hilft nix. hab ich schon 10 mal gemacht. es muss irgendwie an einem versionsunterschied zwischen Visual 6 und 7 liegen. Mit long und int und 64 bzw. 32 Bit. Aber wieso das schon Probleme beim Compilieren machen das versteh ich nicht. Hab den Fehler immernoch nicht gefunden...
Irgendwo hier is er versteckt.string Cmoby::read() { mobyErr_t err,err1; HANDLE sync; unsigned char data[200]; sync = CreateEvent(NULL,FALSE,FALSE,NULL); err = moby_read(han,0,data,sizeof(data),sync,&err1); if (err.error == 0 ) { WaitForSingleObject(sync,INFINITE); err.error = (volatile int)err1.error; } else { throw CthrowMoby("Cmoby", CthrowMoby::ERR_mobyNOREAD); } CloseHandle(sync); ostrstream os; os << data; string str; assign(str,os); return str; }
die methode moby_read und die struc mobyErr_t wurden für die 6 version gemacht.
In der struc steht aber auch nix schlimmer drinne. nur ein long und ein paar unsigned inthilfe