Zurück   3DCenter Forum > Software-Hilfe Foren > Unix / Linux Betriebssysteme und Software
Registrieren Hilfe Community Kalender Heutige Beiträge Suchen Uns unterstützen

Antwort
 
Themen-Optionen Ansicht
Alt 2007-07-24, 17:11:38   #1 (im Thread / einzeln)
Gast
Gast
 
Beiträge: n/a
Linux 32-Bit Anwendung auf 64-Bit ausführen

Hallo,

da man hierzu im Netz nur schwer gute Dokumentation findet, frage ich einfach mal hier:

Welche Unterschiede bestehen zwischen einem Linux-32 Bit System und den Linux 32-Bit Bibliotheken auf einem Linux 64-Bit System?

Von 32 zu 64 Bit weiss ich, dass der wichtigste Unterschied die größen der Datentypen sind.

long @ 32: 4 byte
long @ 64: 8 byte
pointer @ 32: 4 byte
pointer @ 64: 8 byte

Auf ein 64-Bit Debian habe ich gerade eine kleine test binary von einem 32-Bit system geschafft. Es gibt im prinzip nur die Größe eines long aus. Die Ausgabe auf dem 64-Bit System: 4 byte

Ich schliesse daraus, dass demnach mit den Kompatibilitätsbibliotheken die Größe aller Datentypen gleich bleibt.

Meine Konkrete Frage:
Welche Unterschiede sollte ich beachten?
  Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2007-07-24, 17:19:51   #2 (im Thread / einzeln)
Ganon
Insane Member
 
Benutzerbild von Ganon
 
Registriert: 2002-03-18
Beiträge: 15.301
Re: Linux 32-Bit Anwendung auf 64-Bit ausführen

long bleibt afaik überall 32bit, auch auf 64bit Systemen. "long long" ist 64bit.

Nur die Pointer werden größer.

Für auftretende Fehler haftet die Tastatur!
Lenovo IdeaPad 5 Pro Gen 6 | Ryzen 5800H @ 3.20 GHz | 16 GB RAM
Ryzen 9950X3D | 96GB DDR5-6000 | PowerColor Red Devil RX 9070XT
ASUS ROG Ally (2023)

Geändert von Ganon (2007-07-24 um 17:20:21 Uhr)
Ganon ist gerade online   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2007-07-24, 17:21:41   #3 (im Thread / einzeln)
PHuV
Insane Member
 
Benutzerbild von PHuV
 
Registriert: 2005-01-23
Ort: Berlin
Beiträge: 22.628
Re: Linux 32-Bit Anwendung auf 64-Bit ausführen

Zitat von Gast Beitrag anzeigen
Welche Unterschiede bestehen zwischen einem Linux-32 Bit System und den Linux 32-Bit Bibliotheken auf einem Linux 64-Bit System?
Nach meine bisherigen Erfahrungen keine. Je nach OS wird in einem 64 Bit OS eine Art Emulationsmodus gefahren, wenn 32-Bit-Anwendungen verwendet werden. Bei einer HPUX gibt es beispielsweise, bedingt durch den Prozessorwechsel von PAXXX auf Itanium durchaus Unterschiede in den 32 Bit Libs. Unter Linux und mit x86-Übersetzung hast Du jedoch hier keine Unterschiede.

Zitat von Gast Beitrag anzeigen
Von 32 zu 64 Bit weiss ich, dass der wichtigste Unterschied die größen der Datentypen sind.

long @ 32: 4 byte
long @ 64: 8 byte
Korrekt
Zitat von Gast Beitrag anzeigen
pointer @ 32: 4 byte
pointer @ 64: 8 byte
Wobei Du aber auf den Typ des Pointers achten mußt, ein char * ist nach wie vor 1 Byte, und ein int * nur 4 Byte.

Zitat von Gast Beitrag anzeigen
Auf ein 64-Bit Debian habe ich gerade eine kleine test binary von einem 32-Bit system geschafft. Es gibt im prinzip nur die Größe eines long aus. Die Ausgabe auf dem 64-Bit System: 4 byte

Ich schliesse daraus, dass demnach mit den Kompatibilitätsbibliotheken die Größe aller Datentypen gleich bleibt.
Jop, je nachdem, wie Du übersetzt (32 oder 64 Bit), werden entsprechend die Datentypen ausgegeben, wobei sich nur der Datentyp long ändert, alle anderen bleiben gleich.

Zitat von Gast Beitrag anzeigen
Meine Konkrete Frage:
Welche Unterschiede sollte ich beachten?
Welche Unterschiede bei was? Beim Coden? Beim Portieren? Bei den Libs?

Zitat von Ganon Beitrag anzeigen
long bleibt afaik überall 32bit, auch auf 64bit Systemen. "long long" ist 64bit.

Nur die Pointer werden größer.
Falsch, nach C99-Standard in 64 Bit immer long 8 Bit. Long long ist noch eine Zusatzerweiterung seit C99. Auf allen mir bekannte Plattformen (Solaris 9,10, HPUX 11.23, AIX 5.3 und Linux x64) kann man anstelle long long nur long für 64 Bit verwenden, und ich würde für die Portabilität immer nur long verwenden, und nicht die Krücke long long (die auch in 32 Bit als 64 Bit-Darstellung verwendet werden kann).

Miesester Nvidia Launch und Caseking Verkauf vor Ort ever!!!
Me and my RTX 5090 GROSS
vBulletin Total Ignore:Badesalz, #44 , Razor, Pest, Mosher, GSXR-1000, Filp, und viele andere.

Geändert von PHuV (2007-07-24 um 17:25:56 Uhr)
PHuV ist offline   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2007-07-24, 17:37:08   #4 (im Thread / einzeln)
Gast
Gast
 
Beiträge: n/a
Re: Linux 32-Bit Anwendung auf 64-Bit ausführen

Dies war meine Referenz für die Grösse der Datentypen:
http://www.ibm.com/developerworks/library/l-port64.html

Zitat von wdragon:
Welche Unterschiede bei was? Beim Coden? Beim Portieren? Bei den Libs?
Ich will eine 32 Bit Anwendung auf nem 32 Bit System kompiliert auf ne 64 Bit Maschiene bringen. Portieren muss ich hier ja nicht wirklich. Oder doch? Das will ich wissen.

Augenscheinlich gibt es hier keine Probleme, alles läuft wie erwartet. Aber um sicher zu gehen würde ich gerne genau wissen, womit ich rechnen muss.
  Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2007-07-24, 18:24:01   #5 (im Thread / einzeln)
PHuV
Insane Member
 
Benutzerbild von PHuV
 
Registriert: 2005-01-23
Ort: Berlin
Beiträge: 22.628
Re: Linux 32-Bit Anwendung auf 64-Bit ausführen

Zitat von Gast Beitrag anzeigen
Ich will eine 32 Bit Anwendung auf nem 32 Bit System kompiliert auf ne 64 Bit Maschiene bringen. Portieren muss ich hier ja nicht wirklich. Oder doch? Das will ich wissen.

Augenscheinlich gibt es hier keine Probleme, alles läuft wie erwartet. Aber um sicher zu gehen würde ich gerne genau wissen, womit ich rechnen muss.
Bleibst Du bei einem Prozessortyp (z.B. Intel x86 bzw. AMD)? Dann hast Du keine Probleme zu befürchten, Du kannst die Programme einfach verwenden, wenn Du die entsprechenden Libs installiert hast.

Miesester Nvidia Launch und Caseking Verkauf vor Ort ever!!!
Me and my RTX 5090 GROSS
vBulletin Total Ignore:Badesalz, #44 , Razor, Pest, Mosher, GSXR-1000, Filp, und viele andere.
PHuV ist offline   Mit Zitat antworten Beitrag zum Zitieren auswählen
Antwort

Lesezeichen
  • Dieses Thema bei Twitter speichern
  • Dieses Thema bei Facebook speichern


Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:15:40 Uhr.


Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.