K
versuche mal
#include <windows.h>
#include <stdlib.h>
void
main (void)
{
char *string;
if((string = (char *)malloc(5))==NULL) /*hat malloc NULL zurückgegeben??*/
MessageBox(NULL, "Error, es konnte kein Speicher bereitgestellt werden!!!", "Error", MB_OK);
else
MessageBox(NULL, "Alles in Ordnung", "Error", MB_OK);
}
zu compilieren und zu starten. wenn kein fehler auftritt, dann kanns zumindest kein fehler in der standartbibliothek sein. ich habs bei mir mit VC++ 6.0 probiert und da gibts keinen fehler.
ich denke aber eher, daß dein programm wohl speicherbomben produziert. dh vielleicht schreibt dein programm einen speicherbereich über einen zeiger, der nicht mehr gültig ist. oder dein programm schreibt über das ende eines arrays oder allozierten speicherbereichs hinaus etc. dann würde dein programm einfach irgendwelche wichtigen daten anderer programmteile (wie zb malloc/free system der stdlib) überschreiben. das ist die einzige erklärung, die ich für deinen fehler habe. allerdings können sich solche speicherbomben überall im programm verstecken und sind deshalb leider nur sehr schwer zu finden.