Wie überwinden Stack-Größe-Problem mit Visual Studio (Ausführung C codes mit großen Arrays)

Ich bin mit Visual Studio 13 zum kompilieren der c-codes für die erste Zeit. Die codes laufen einwandfrei O. K. mit 2d-arays der Größe 64*64 (es gibt ein paar arrays in meinem Programm) aber wenn ich vergrößern Sie die array-Größe auf 128*128 läuft es nicht (aber ordnungsgemäß kompiliert). Stattdessen gibt es eine Nachricht ".exe funktioniert nicht mehr". Meine Maschine hat 4GB ram und das gleiche Programm mit 128*128 array, wenn ich die codes von linux.

Lassen Sie mich hier einige weitere details: ich habe den gleichen code von linux mit dem Intel C-Compiler (nicht-kommerzielle version) in der gleichen Maschine. Aber aufgrund einiger problem ich bin jetzt gezwungen, Arbeit aus einer Windows-Umgebung. Ich habe gesucht und installiert habe zwei c - Compiler (1) Visual Studio 13 (2) Borland C Beide auch mit einem kleinen array. Aber in dem moment ich die array-Größe von Visual Studio geben Sie die Nachricht ".exe funktioniert nicht mehr". Compiliere ich das Programm mit 'cl' aus "Entwickler-Eingabeaufforderung VS 13".

Ich das Gefühl, dass das problem mit stack-Größe.

In den link ausführliche Erklärung (wie unten angegeben) habe ich gesehen, dass ein Befehl "ulimit" im linux-Umfeld zur Erhöhung der stack-Größe. Ich erinnere mich, mit es vor ein paar Jahren.

Ich glaube, wir sind nahe an der Lösung, aber mein problem mit Windows (und VS 2013) bleibt, wenn ich Fehler beim ausführen dumpbin /headers executable_file oder editbin /STACK:size. Eigentlich habe ich das Gefühl, ich weiß nicht, wie Sie ausführen. Ich habe versucht, führen Sie Sie von "Developer-Eingabeaufforderung VS 13" als auch mit "Ausführen" (windows-start-unten->suchen (ausführen)->Run (stützen)). Ich bitte Sie freundlich um mehr details zu liefern, wenn möglich.

Suchte ich und fand diese website, und denke, dass hier die Lösung gefunden werden kann.

Bitte helfen. Ich möchte ausführen, die mit Visual Studio 13 von Windows.

Das problem existiert, aber es ist unmöglich Sie zu finden, basierend auf Ihrer Beschreibung. Sie müssen uns etwas code.
ohne weiterzulesen, ich Wette, VS funktioniert!
Dies ist nicht, weil "Visual Studio funktioniert nicht". 128*128 = 16384. Wenn man zu wenig stack-Speicher und definieren Sie ein array, das groß genug Strukturen, kann dies leicht dazu führen, dass ein stack-überlauf.
Ich bin sorry, wenn meine Frage hat weh jeder Stimmung oder eine Verordnung, die direkt oder indirekt. Keine intension zu brechen die Regeln dieses Forums.

InformationsquelleAutor user3129690 | 2013-12-23

Schreibe einen Kommentar