AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-Programme auf 64-Bit CPU?

Ein Thema von Weazy · begonnen am 4. Mär 2006 · letzter Beitrag vom 5. Mär 2006
Antwort Antwort
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#1

Delphi-Programme auf 64-Bit CPU?

  Alt 4. Mär 2006, 21:55
Ich habe mich gerade gefragt, ob ein mit Delphi erstelltes Programm, also win32 auch auf einem 64-Bit Prozessor laufen würde. Wahrscheinlich ne saublöde Frage
Philippe Wechsler
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Delphi-Programme auf 64-Bit CPU?

  Alt 4. Mär 2006, 21:58
Ich denke mal, ja. Eventuell etwas langsamer, da die 32Bit Variablen immer zuerst mit 0en aufgefüllt werden müssen, aber sie müssten laufen. Eventuell mit einem Emulator.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Delphi-Programme auf 64-Bit CPU?

  Alt 4. Mär 2006, 22:04
AFAIR laufen 32-Bit-Programme unter Win64 im Emluationsmodus, aehnlich wie 16-Bit-Progs unter Win32. Allerdings wirst du auf die Vorteile von 64-Bit-Prozessoren verzichten muessen

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Delphi-Programme auf 64-Bit CPU?

  Alt 5. Mär 2006, 10:20
Zitat von 3_of_8:
...da die 32Bit Variablen immer zuerst mit 0en aufgefüllt werden müssen,...
Nicht ganz. Dein 32-Bit-Integer bleibt ein 32-Bit-Integer.

Sie laufen auch ohne einen Emulater. Unter Win64 gibt es eine Win32-Ausführungsschicht wie es auch schon zu Win32 für Win16 eine gab/gibt. Diese Schicht ist prinzipbedingt etwas langsamer da viele Funktionsaufrufe erst in den passende Win64-API-Aufruf umgewandelt werden müssen. Auch gibt es wieder getrennte Systemverzeichnisse. In eine der letzten c't-Ausgaben war ein Bericht über Win64 drin und was sich Programmiertechnisch oder auch Anwendungstechnisch ändert.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: Delphi-Programme auf 64-Bit CPU?

  Alt 5. Mär 2006, 11:10
Weiteres dazu: http://en.wikipedia.org/wiki/WOW64
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Delphi-Programme auf 64-Bit CPU?

  Alt 5. Mär 2006, 11:16
Ein 32Bit Integer bleibt ein 32Bit Integer. Klar. Aber wenn der Prozessor ihn verarbeiten will, muss er ihn doch zuerst mit 0en auffüllen. Genauso wie es ein 32Bit Prozessor mit einem 16Bit Integer macht. Oder?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#7

Re: Delphi-Programme auf 64-Bit CPU?

  Alt 5. Mär 2006, 11:20
Zitat von 3_of_8:
Ein 32Bit Integer bleibt ein 32Bit Integer. Klar. Aber wenn der Prozessor ihn verarbeiten will, muss er ihn doch zuerst mit 0en auffüllen. Genauso wie es ein 32Bit Prozessor mit einem 16Bit Integer macht. Oder?
Nein. Eine ASM-Anweisung sieht bspw. so aus:
Code:
MOV EAX, EBX
EAX ist ein 32-Bit register, also weiss die CPU, dass sie mit 32 Bit arbeiten muss. Die restlichen Bits interessieren sie gar nicht.
ebenso bei 16-Bit-Anweisungen:
Code:
MOV AX, BX
Hier wird nichts mit Nullen aufgefüllt. Würde a) nur zeit kosten und b) evt. noch gebrauchte Daten löschen.

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Delphi-Programme auf 64-Bit CPU?

  Alt 5. Mär 2006, 12:04
Zitat von 3_of_8:
Ein 32Bit Integer bleibt ein 32Bit Integer. Klar. Aber wenn der Prozessor ihn verarbeiten will, muss er ihn doch zuerst mit 0en auffüllen. Genauso wie es ein 32Bit Prozessor mit einem 16Bit Integer macht. Oder?
Nein.
Der Hauptunterschied ist das man ein (theoretisch) 64-Bit Adressraum besitzt (Aktuell könnnen die Chipsätze so um die 40 Bit-Adressieren). und damit jeder Pointer 8 Byte groß ist. Aber ein 8-Byte Pointer kann immer noch auf Bytes, ShortInt, Int oder Int64 zugreifen. Strings basieren auch ja "nur" auf 16 Bit-Characters (oder wurde unter Win64 auf 32-Bit-Charcters gewechselt?).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Delphi-Programme auf 64-Bit CPU?

  Alt 5. Mär 2006, 12:09
Das mit den Nullen auffüllen wurde hier in der DP aber schon mal gesagt...
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Delphi-Programme auf 64-Bit CPU?

  Alt 5. Mär 2006, 12:10
Zitat von 3_of_8:
Das mit den Nullen auffüllen wurde hier in der DP aber schon mal gesagt...
Evtl. in anderem Zusammenhang bzw. in einem speziellen Teilbereich.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz