C++ Eclipse Programm mehr RAM zuweisen

Gandalf2210

Commodore
Registriert
Mai 2010
Beiträge
4.175
Hallo zusammen
Ich habe in Eclipse ein c++ Programm geschrieben, was nichts weiter macht, als dynamisch strukturen zu erstellen und einen zeiger auf die nächste Struktur erzeugt. Im Prinzip also ein stack.
Einziger Sinn dieses Programms ist es den Arbeitsspeicher zu füllen.
Klappt soweit auch, nur ist ja bei 2 gb Ende, wahrscheinlich weil 32 bit Anwendung.
Ich habe windows 8 x64 und 8 gb RAM. Kann ich eclipse und dem mingW compiler irgendwie beibringen, dass der eine 64 bit exe erzeugen soll, die dann mehr als 2 gb RAM belegen darf?
Bitte fangt jetzt nicht über Sinn und Unsinn an zu diskutieren, natürlich ist das totaler Unsinn, aber ich taste halt gerne die Granzen aus, die es so gibt ;)
 
Moin,

beim gcc (wird von MinGW verwendet) kann mit dem Schalter '-m64' eine 64-Bit-Executable erstellt werden. Außerdem kannst du mit dem 'sizeof'-Operator prüfen ob deine Anwendung 32- oder 64-Bit ist (ein long sollte die entsprechende länge haben; int ist auf beiden Platformen 32-bit; die länge wird in byte angegeben, also entweder 4 für 32-bit oder 8 für 64-bit).

Bin mir aber nicht sicher ob das dein Problem löst...

Gruß
erebos

edit: info 'sizeof wird als byte angegeben' hinzugefügt.
 
Zuletzt bearbeitet:
@iks-deh
Ich habe gegooglet, aber anscheinend nach den falschen Sachen
Bei mir hierß es immer nur der Eclipse VM mehr RAM zur Verfügung zu stellen, nicht dem Programm. Außerdem war das dann im Größenbereich von 256 mb oder so
Habe da eher nach einem eclipse Problem gesucht, und nicht im allgemeinen, sry, aber ich wusste den schuldigen jetzt nicht.

@erebos
Danke, soetwas habe ich mir erhofft. Werde ich mal ausprobieren
 
Zuletzt bearbeitet:
Um das Compilen als 64-Bit exe kommst du nicht herum. Das ist allerdings nicht sehr schwer. Wie gesagt, einfach noch ein -m64 anhängen und es sollte funktionieren. Falls deine installierte gcc Version das nicht kann, gibts hier auch 64 Bit mingw gcc Compiler.
 
erebos schrieb:
[...] Außerdem kannst du mit dem 'sizeof'-Operator prüfen ob deine Anwendung 32- oder 64-Bit ist (ein long sollte die entsprechende länge haben; int ist auf beiden Platformen 32-bit; die länge wird in byte angegeben, also entweder 4 für 32-bit oder 8 für 64-bit).

Besser einfach einen Pointer mit sizeof() überprüfen, dann muss man sich keine Datentypen merken. Ist auch generell die sinnvollere Variante wenn man überlegt was man eigentlich wissen will.
 
Wenn der einzige Sinn des Programms ist, den Arbeitsspeicher zu füllen, starte es doch einfach viermal :D
 
Na wenn's nur darum geht, warum nicht einfach den Firefox starten? :D
 
dann eher Chrome. Da hat du recht fix über 1GB verbraten. Firefox ist der Browser mit der geringsten RAM Nutzung.
 
Zurück
Oben