JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=7e38305f31e973e146bb6a89b5d0f578Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Win32-API unter 64-Bit-Prozessoren

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
User_User
JLI'ler



Anmeldedatum: 05.08.2004
Beiträge: 137

Medaillen: Keine

BeitragVerfasst am: 26.08.2009, 15:43    Titel: Win32-API unter 64-Bit-Prozessoren Antworten mit Zitat

Da die Spieleprogrammierung mir zu mühevoll ist, interessiere ich mich für Computersicherheit. Dabei las ich oft, dass man sich mit der Win32-API auskennen sollte.

Ich verwende C++. Will man etwas machen, dass nicht durch das MFC- oder .NET-Framework abgedeckt wird, muss man die Win32-API verwenden. Wie sieht das unter 64-Bit-Prozessoren und Multiprozessoren aus? Ändert sich etwas wesentliches im Bezug zur Win32-API?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 26.08.2009, 20:55    Titel: Antworten mit Zitat

Howdi,

Auszug aus der Wikipedia:

Zitat:
Win32 for 64-bit Windows, previously known as Win64, is the variant of the API implemented on 64-bit platforms of the Windows architecture (currently AMD64 and IA64.)[18][19][20] There are no new user-mode functions specific to the 64-bit platform, so both 32-bit and 64-bit versions of an application can be still compiled from a single codebase, although some older APIs have been deprecated. All memory pointers are 64-bit by default (the LLP64 model), so the source code has to be checked for compatibility with 64-bit pointer arithmetic and rewritten as necessary.


Deckt sich auch mit dem was ich darüber weiss, Pointer sind zu beachten das wars, evtl noch der Hinweis das HANDLE Parameter nur die ersten 32Bit verwenden (wie unter x86 also) aber das wars auch schon.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 27.08.2009, 05:29    Titel: Antworten mit Zitat

Prinzipiell werden die selben Funktionen (die selben Funktionsnamen) verwendet, wie in Win32. Pointer sind statt 32-Bit 64 Bit breit. Dies hat auswirkungen auf alle möglichen Strukturen, welche dadruch andere größen haben und ggf. auch andere Offsets.
Dies bedeutet, dass man Pointerarithmetik nicht nutzen sollte - oder mehrfach überprüfen.
An sonsten kann man den selben Code per Compilerschalter als 32 und als 64-Bit Programm übersetzen lassen. Es müssen lediglich andere Bibliotheken gelinkt werden.
PS.: Es ist nicht möglich, einen "Mixmodus" zu fahren und 32-Bit-Bibliotheken in einem 64-Bit-Programm zu nutzen. Dies ist besonders für Fremdbibliotheken wichtig, wo man den Code nicht hat und es keine 64-Bit-Varianten gibt.
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
User_User
JLI'ler



Anmeldedatum: 05.08.2004
Beiträge: 137

Medaillen: Keine

BeitragVerfasst am: 28.08.2009, 11:11    Titel: Antworten mit Zitat

Danke für die schnelle und kompetente Beantwortung!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum