64 bit Frage

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
tuxfreund
Beiträge: 58
Registriert: 01.12.2009 19:19:46

64 bit Frage

Beitrag von tuxfreund » 01.06.2010 16:30:34

Hallo,
ich möchte gern eine Frage stellen zum kompilieren von Software auf einem 64-bit System:
Muss der Quellcode für 64bit geschrieben sein, oder reicht es, einfach normalen Quellcode zu übersetzen und man hat danach automatisch ein 64bit Programm. Ich habe das noch nicht so ganz verstanden.
Danke

Benutzeravatar
hikaru
Moderator
Beiträge: 13929
Registriert: 09.04.2008 12:48:59

Re: 64 bit Frage

Beitrag von hikaru » 01.06.2010 16:37:30

Der Quellcode ist egal*. Du brauchst nur einen 64bit-Kompiler.

*) Bitte komm mir jetzt keiner mit Assembler. ;-)

tuxfreund
Beiträge: 58
Registriert: 01.12.2009 19:19:46

Re: 64 bit Frage

Beitrag von tuxfreund » 01.06.2010 17:40:48

ok. Vielen Dank. Dann weiß ich jetzt bescheid.

Benutzeravatar
bmario
Beiträge: 1257
Registriert: 05.09.2007 12:15:47
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dresden

Re: 64 bit Frage

Beitrag von bmario » 02.06.2010 10:55:17

Das ist nur die halbe Wahrheit. Mit einem 64-Bit Kompiler hast du dann zwar ein Programm, dass auf einem 64-Bit System lauffähig ist, aber das heißt noch lange nicht, dass die Programme wirklich die Fähigkeiten von 64 Bit nutzen.

z.B. in C: Da ist ein int nicht zwangsläufig 64Bit breit, dies ist implementierungsabhängig. Es gibt sogar Systeme, da ist ein int nicht mal 32Bit breit.

mario
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse

Benutzeravatar
hikaru
Moderator
Beiträge: 13929
Registriert: 09.04.2008 12:48:59

Re: 64 bit Frage

Beitrag von hikaru » 02.06.2010 11:31:08

bmario hat geschrieben:Mit einem 64-Bit Kompiler hast du dann zwar ein Programm, dass auf einem 64-Bit System lauffähig ist, [..]
...und das nicht mehr auf einem 32bit-System läuft. Damit ist es ein echtes 64bit-Programm. ;-)
bmario hat geschrieben:[..] aber das heißt noch lange nicht, dass die Programme wirklich die Fähigkeiten von 64 Bit nutzen.

z.B. in C: Da ist ein int nicht zwangsläufig 64Bit breit, dies ist implementierungsabhängig. Es gibt sogar Systeme, da ist ein int nicht mal 32Bit breit.
Ja, das ist implementierungsabhängig - abhängig von der Implementierung des Kompilers. Womit wir wieder an dem Punkt sind, dass die Frage ob es sich bei dem Kompilat um ein "echtes" 64bit-Programm nach deiner Definition handelt, eine Frage der Kompiler(schalter)wahl ist.

Benutzeravatar
bmario
Beiträge: 1257
Registriert: 05.09.2007 12:15:47
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dresden

Re: 64 bit Frage

Beitrag von bmario » 02.06.2010 15:02:32

Eigentlich wollte ich damit nur ausdrücken, dass es einen Unterschied gibt zwischen "es kompiliert auch auf 64Bit" und "es ist auf 64Bit optimiert/angepasst".

Nicht mehr und nicht weniger. Und das tritt umso mehr zu Tage, je "tiefer" die Software ist, also je näher sie an der Hardware ist. Einem Javaprogramm ist es schnulle ob es auf amd64, x86, arm oder weiß-gott-wo läuft, durch die Abstraktion macht es einfach keinen Unterschied mehr. Im Gegensatz dazu ist ein Programm, z.B. in C oder auch Assembler (wenn du klugscheißerst komme ich jetzt damit :P) sehr viel mehr davon abhängig, auf was es für einer Maschine läuft und insbesondere sind Unterschiede in der Programmierung und der Ausführungsgeschwindigkeit möglich bzw. nötig.

mario
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse

Antworten