Einstieg in 64bit Programmierung?

Thomasio

Erfahrenes Mitglied
Wenn ich Google zum Thema befrage, lande ich auf 1000 Seiten, die alle erklären, der einzige Unterschied zwischen 32 und 64 bit Programmen ist die Grösse von Pointern, int´s und long´s.
Ein paar Seiten befassen sich mit konvertieren von 32 zu 64bit, ab und wann findet sich sogar ein Hinweis, dass es GCC++ auch als 64bit Compiler gibt.
Aber so richtig schlau werde ich daraus nicht, weil die alle nicht dazu sagen, womit man überhaupt anfangen muss.

Wenn ich von dem ausgehe, was ich bisher mache, bzw. weiss:

Code::Blocks/MinGW/GCC++ auf Windows XP oder Vista 32bit, erstellt prima Win32-Anwendungen.

Wie komme ich dann zu:

x/y/z auf Windows7 oder XP oder Vista 64bit erstellt prima Win64-Anwendungen?

Google spuckt dazu 100 Seiten aus, die alle VisualStudio empfehlen, aber ich mag den M$ Kram nicht, ich komme mit einer ganz simplen IDE wie Code::Blocks viel besser klar.

Kurz gefragt: Wo findet der blutigste aller Anfänger ein Tutorial, was die alleresten Schritte in 64bit Programmierung erklärt, so wie es das 100fach für 32bit gibt, angefangen bei einer guten aber simplen IDE?
 
Hi.

Soviel anders ist die 64bit Programmierung nunmal nicht als das man da jetzt großartige Tutorials erstellen müßte.

Du brauchst natürlich einen Compiler der 64-bit Applikationen erstellen kann.

Da kannst du den Microsoft Compiler nehmen (der sich auch in Code::Blocks einbinden läßt) oder z.B. eine Version vom MinGW GCC der für 64-bit kompiliert wurde (http://sourceforge.net/projects/mingw-w64/)

Um 64bit Anwendungen zu erstellen mußt du beim GCC nur die Option -m64 übergeben (funktioniert auch auf 32-bit Betriebssystemen - nur ausführen kannst du die Programme natürlich nicht).

Gruß
 
Soviel anders ist die 64bit Programmierung nunmal nicht ...

Soviel hatte ich begriffen, deswegen traue ich Anfänger überhaupt nur mal drauf zu schauen.

... eine Version vom MinGW GCC der für 64-bit kompiliert wurde

Das ist schon eher ein Problem.
Ich kann mich erinnern, als ich vor knapp 3 Jahren zum allerersten Mal versucht habe den Kram zu installieren, das wurde damals zu einem recht langen Thread im C::B Forum ( hier ).
Ich war richtig froh, als sie dann eine Komplett-Version rausgebracht haben, wo C::B/MinGw/GCC alles in einer einzigen komfortablen setup.exe untergebracht ist.
Bis dahin hatte ich den Eindruck, dass die Installation mehr Kenntnisse erfordert, als alles was ich damit später an Mini-Anwendungen geschrieben habe.

Wenn ich jetzt von 64bit Versionen höre, fällt der ganze Komfort wieder weg, dann bin ich wieder bei alles einzeln installieren, von einem Dutzend Webseiten die nötigen Bestandteile zusammen suchen, tarbal.gz und Zeug, Umgebungsvariablen selber setzen, usw., wobei ich noch nicht mal weiss, was überhaupt alles dazu gehört, bzw. welche Bestandteile schon in einem Paket zusammengefasst sind.

Code::Blocks - welche Version? Kann ja wohl nicht die Selbe sein für 32 und 64bit, oder?
MinGW-w64 hatte ich schon entdeckt, aber ist da schon GCC++ in 64bit version enthalten?
Was ist mit "make" und "gdb"?

Selbst wenn ich es dann alles installiert hätte, stände ich immer noch im Wald, denn wenn du sagst:

Um 64bit Anwendungen zu erstellen mußt du beim GCC nur die Option -m64 übergeben (funktioniert auch auf 32-bit Betriebssystemen - nur ausführen kannst du die Programme natürlich nicht).

Dann stellen sich mir die Fragen:
1) Wie "übergibt" man GCC die Option? Ich bilde meine Anwendungen nicht in der Eingabeaufforderung, ich klicke einfach nur in C::B auf "Build".
2) Kann man wirklich kreuz und quer bilden? 64bit Anwendungen auf 32bit OS und andersrum? Laufen die 64bit Versionen von C::B/MinGW/GCC ohne Probleme auf 32bit OS und andersrum?
3) Was ist mit Libraries? Ich kann mir schwer vorstellen, dass von windows.h bis vector alles sauberen 64bit code enthält, also woher nehme ich 64bit Versionen der Libraries?
 
Code::Blocks - welche Version? Kann ja wohl nicht die Selbe sein für 32 und 64bit, oder?
Warum nicht?
MinGW-w64 hatte ich schon entdeckt, aber ist da schon GCC++ in 64bit version enthalten?
Warum schaust du nicht nach? Und was ist GCC++ ? Du meinst g++ vom GCC?
Was ist mit "make" und "gdb"?
Schau nach. Und warum willst du nochmal ein extra make haben?
Dann stellen sich mir die Fragen:
1) Wie "übergibt" man GCC die Option? Ich bilde meine Anwendungen nicht in der Eingabeaufforderung, ich klicke einfach nur in C::B auf "Build".
Aber du weißt schon das man Einstellungen in C::B ändern kann, oder?! :mad: Du stellst dich aber auch an. *kopfschüttel*
2) Kann man wirklich kreuz und quer bilden? 64bit Anwendungen auf 32bit OS und andersrum?
Ja.
Laufen die 64bit Versionen von C::B/MinGW/GCC ohne Probleme auf 32bit OS und andersrum?
Theoretsich laufen die 32bit MinGW Applikationen mit 64bit Unterstützung natürlich auf 32bit Betriebssystemen. Praktisch: probier's aus.
3) Was ist mit Libraries? Ich kann mir schwer vorstellen, dass von windows.h bis vector alles sauberen 64bit code enthält, also woher nehme ich 64bit Versionen der Libraries?
Was meinst du mit sauberen 64bit Code? Ansonsten: probier's aus.

Gruß
 
Ich bin mir schon darüber klar, dass ich mich bei sowas oft etwas blöd anstelle.

GCC = GNU Compiler Collection, aber ich habe nie nachgeschaut, was da ausser g++ noch drin ist, einer reicht mir.

Ich wusste nicht, ob es ein extra make wäre.
Dass ich make überhaupt separat installieren soll, habe ich nur aus dem C::B Forum von damals.
Ich war froh, dass es dann alles auf einmal in einer setup.exe gab, habe mich danach nie wieder darum gekümmert, aus welchen Teilen das Paket besteht, und welche der Unter-Teile man wiederum als Paket zusammen bekommt.
Da verliere ich in der Liste der Versionen und Variationen immer den Überblick.

Dass ich nicht einfach "nachschaue" liegt daran, dass im Moment alles prima läuft, sprich ich schreibe prima 32bit Anwendungen unter Vista 32bit und habe am System seit über einem Jahr nichts mehr geändert.
Nachschauen würde bedeuten, neue Version installieren, und da fürchte ich einfach, dass ich dabei irgendwas vermurksen könnte und hinterher geht gar nichts mehr.
Insbesondere stelle ich mir vor, ich finde irgendeine der Unter-Installationen nicht, bzw. weiss gar nicht, dass ich sie brauche, am Ende habe ich dann die Hälfte in 32bit, die andere Hälfte in 64bit und beides geht nicht mehr.
 
DAS haben mir ein paar Leute schon in den 80ern gesagt, als ich am C64 ein paar Zeilen in Basic schreiben wollte.
Scheinbar erweckt meine Art der Vorbereitung den Eindruck, dass ich das sowieso nie lerne, aber bis jetzt bin ich immer noch da hin gekommen, wo ich hin wollte, zumindest beim Programmieren.

Auf jeden Fall danke für deine Hilfe, es hat mir schon einen Schritt weiter geholfen.
 

Neue Beiträge

Zurück