Hallo, ich habe momentan ein Problem mit einem selbst erstellen C++-Programm, wo ich momentan nicht richtig weiter komme (). Es geht um den system()-Aufruf, um aus dem Programm heraus eine anderen Befehl auszuführen. Das ganze passiert in einer Schleife, wo mehrere Aufrufe nacheinander erfolgen.
sprintf(Cmd,"echo \"convert %s_.ppm %s.jpg\" >> test",BaseFileName,BaseFileName); system(Cmd);
Das Problem ist, daß der Aufruf genau 8 mal korrekt gemacht wird (Rückgabe 0), und alle weitere Aufrufe schlagen fehl (Rückgabe -1). Das Ganze passiert nur in der Komplexität des gesamten Programms (wo ich nicht näher 'dauf eingehen will, da zu kompliziert. Grob geht es um eine Mandelbrot-Bildergallerie, wo auch die Bildparameter per GMP rekursiv verarbeitet werden, um einen klickbaren Zoom zu bekommen). Mach ich eine einfache for()-Schleife funktioniert das problemlos. Das Problem muß also mit dem Geraffel darum zusammen hängen. Um überhaupt einen Ansatzpunkt zu bekommen, versuche ich heraus zu bekommen, welcher Fehler bei dem system()-Aufruf passiert. Die Auswertung von 'errno' liefert -12, was 'out of memory' bedeutet, sofern errno überhaupt durch system() gesetzt wird. Kann ich mir aber nicht vorstellen, die Kiste hat 8Gb und es läuft nichts speicherfressendes (kinfocenter zeigt 73% freier physischer Speicher an). system ist Suse 13.1/64, letztes Onlineupdate eben gerade, g++ ist
g++ (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
Was kann ich machen, um dem Fehler aus die Spur zu kommen ? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org