 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
kai Guest
|
Posted: Fri Nov 17, 2006 9:38 pm Post subject: Programm schreiben für 32 und für 64 bit |
|
|
Hallo,
ich bin Programmieranfänger und ich möchte demnächst ein
Windows-Programm mit C++ schreiben. Das Programm soll unter Windows XP
und unter Vista laufen. Windows XP basiert auf 32 bit, von Vista weiss
ich, dass es sowohl für 32 und 64 bit angeboten werden soll.
Ich möchte nun die 32 als auch die 64 bit Architektur unterstützen.
Was muss ich dabei alles beim Programmieren beachten? Muss ich das
Programm auf beiden Plattformen compilieren? Auch möchte ich
verschiedenste Bibliotheken wie WxWidget und SQLite verwenden. Muss man
hier auch unterscheiden?
Gibt es freie Compiler für beide Architekturen?
Ich bin für jeden Hinweis, Link, etc. dankbar und bedanke mich bereits
im voraus, Kai |
|
| Back to top |
|
 |
Daniel Albuschat Guest
|
Posted: Sat Nov 18, 2006 12:32 am Post subject: Re: Programm schreiben für 32 und für 64 bit |
|
|
kai wrote:
| Quote: | Hallo,
ich bin Programmieranfänger und ich möchte demnächst ein
Windows-Programm mit C++ schreiben. Das Programm soll unter Windows XP
und unter Vista laufen. Windows XP basiert auf 32 bit, von Vista weiss
ich, dass es sowohl für 32 und 64 bit angeboten werden soll.
Ich möchte nun die 32 als auch die 64 bit Architektur unterstützen.
Was muss ich dabei alles beim Programmieren beachten?
|
Datentypen wie int, short und long können unterschiedlich groß sein.
Wenn man auf die genaue Bitbreite eines Typs angewiesen ist, ist es
deshalb ratsam, typedefs wie "uint16", "uint32" und "uint64" anzulegen
und diese per bedingter Compilierung entsprechend der Zielplatform
zu definieren. Siehe #ifdef und #endif und dem Compiler-Switch oder
vordefinierten Makros zur Ermittlung der Platform.
(Unter C99 gibt es diese Typen bereits)
| Quote: | Muss ich das Programm auf beiden Plattformen compilieren?
|
Ja.
| Quote: | Auch möchte ich verschiedenste Bibliotheken wie WxWidget und SQLite
verwenden. Muss man hier auch unterscheiden?
|
Jap, die Bibliotheken musst du entweder für die entsprechende Platform
in binärer Form haben oder selbst compilieren können.
| Quote: | Gibt es freie Compiler für beide Architekturen?
|
Jap. GCC. Heißt unter Windows MinGW.
| Quote: | Ich bin für jeden Hinweis, Link, etc. dankbar und bedanke mich bereits
im voraus, Kai
|
http://gcc.gnu.org/
http://www.mingw.org/
MfG,
Daniel
P.S.: Hier sind komplette Realnames sehr gerne gesehen. |
|
| Back to top |
|
 |
Elcaro Nosille Guest
|
Posted: Sat Nov 18, 2006 5:23 am Post subject: Re: Programm schreiben für 32 und für 64 bit |
|
|
kai schrieb:
| Quote: | Hallo,
ich bin Programmieranfänger und ich möchte demnächst ein
Windows-Programm mit C++ schreiben. Das Programm soll unter Windows XP
und unter Vista laufen. Windows XP basiert auf 32 bit, von Vista weiss
ich, dass es sowohl für 32 und 64 bit angeboten werden soll.
|
Muss das Programm denn 64-bittig laufen? Ich würd das nur 64-bittig kom-
pilieren wenn das auch von den Vorzügen eines 64-bittigen Adressraums Nut-
zen ziehen kann oder wenn es das bisschen Performance durch die zusätzli-
chen Register im x64-Modus braucht. Ansonsten: Die 32-Bit-Software läuft
auch unter den 64-bittigen OSen und daher *muss* man nicht neu kompilieren.
BTW: Beide OSe, also sowohl XP als auch Vista existieren 32- und 64-bittig. |
|
| Back to top |
|
 |
Juergen Hefele Guest
|
Posted: Sat Nov 18, 2006 4:07 pm Post subject: Re: Programm schreiben für 32 und für 64 bit |
|
|
Hallo Kai
Normalerweise laufen Programme auf 64 Bit System und 32 Bit Systemen
ohne das sie neu übersetzt werden müssen. Selbstverständlich gibt es
Ausnahmen, vor allem dann wenn sehr Hardwarenah programmiert wird
(Treiber beispielsweise) oder aber wenn die volle Leistungsfähigkeit des
64-BitSystems ausgenutzt werden soll. Dann reicht aber eine
Neuübersetzung nicht aus, sie müssen angepasst werden.
Noch am Rande. Windows XP ist auch als 64 Bit Version erhältlich
Gruß
Jürgen
kai schrieb:
| Quote: | Hallo,
ich bin Programmieranfänger und ich möchte demnächst ein
Windows-Programm mit C++ schreiben. Das Programm soll unter Windows XP
und unter Vista laufen. Windows XP basiert auf 32 bit, von Vista weiss
ich, dass es sowohl für 32 und 64 bit angeboten werden soll.
Ich möchte nun die 32 als auch die 64 bit Architektur unterstützen.
Was muss ich dabei alles beim Programmieren beachten? Muss ich das
Programm auf beiden Plattformen compilieren? Auch möchte ich
verschiedenste Bibliotheken wie WxWidget und SQLite verwenden. Muss man
hier auch unterscheiden?
Gibt es freie Compiler für beide Architekturen?
Ich bin für jeden Hinweis, Link, etc. dankbar und bedanke mich bereits
im voraus, Kai |
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|