vector unter 64 bit



  • Hallo,
    Möchte ein bisschen die Eigenschaften, Vor- und Nachteile von 64 bit herausfiltern und hab mir zu Beginn mal ein einfaches Beispiel geschrieben.
    Wenn ich mir das Memory Windows von der 64 bit Programmversion ansehe kann ich leider nicht wirklich viel daraus schließen, da ich den vector im Speicherabild nicht wieder erkenne. Wenn ich das Programm für 32 bit kompiliere dann funktioniert das Speicherabbild überhaupt nicht mehr. Verwende bei meiner Arbeit Windows 7. Habe generell noch nicht so viel Ahnung im Bereich der 64 bit Programmierung. Hoffe hier gibts es bereits jemanden der damit Erfahrung gesammelt hat?

    Beispiel:

    #include <vector>
    #include <iostream>
    
    using namespace std;
    
    void main(){
    
    	#ifdef _M_IX86
    		typedef  int INT32;
    		cout << "Windows 32 bit" << endl;
    	#endif
    
    	#ifdef _WIN64
    		typedef int INT64;
    		cout << "Windows 64 bit" << endl;
    	#endif
    
    	vector<int*> vpNumber(10);
    	for(int i=0;i<10;i++){
    		vpNumber[i] = new int;
    		*vpNumber[i] = i;
    	}
    }
    


  • Du bist im falschen Forum. Unter C++ sollte kaum ein Unterschied beim Programmieren festzustellen sein und richtig C++ scheinst du auch noch nicht zu koennen. Es ist auch fraglich, sich 64 Bit ueber ein Speicherabbild zu naehern.

    edit: Hauptunterschiede sind der groessere Adressraum und mehr Register.



  • danke für deine konstruktive kritik hat mir sehr geholfen



  • mulek schrieb:

    ... Wenn ich das Programm für 32 bit kompiliere dann funktioniert das Speicherabbild überhaupt nicht mehr.

    Was heißt das konkret? Wie guckst du dir das Abbild an?


Anmelden zum Antworten