Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Portierung von Applikationen auf 64 Bit Windows

Ähnliche Präsentationen


Präsentation zum Thema: "Portierung von Applikationen auf 64 Bit Windows"—  Präsentation transkript:

1 Portierung von Applikationen auf 64 Bit Windows
Mike Becker, Microsoft Deutschland GmbH Senior Consultant Microsoft Services, Custom Development Vortragstitel STC 02. – 03. Juni 2004

2 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

3 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

4 <Vortragstitel>
64 Bit Hardware CPU Intel Itanium Architektur (IA64) Itanium 2 (1,5 GHz, 6MB L3C) Montecito, Deerfield… Extended Architecture AMD x86-64 Athlon 64 (1,6 GHz, 1MB L2C) Athlon 64 FX Opteron (1,4 – 2,2 GHz, 1MB L2C) Athens, Egypt, San Diego, Toledo, Trinidad… Intel Xeon, Prescott... Rechner Dell, IBM, HP, Unisys, Angstrom Microsystems, NEC, RackSaver, HPC Systems,… Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

5 Microsoft 64 Bit Produkte
<Vortragstitel> Microsoft 64 Bit Produkte Betriebssysteme Microsoft Windows XP 64 Bit Edition Microsoft Windows Server Bit Editions (SP1) Enterprise Edition Datacenter Longhorn, … WOW64 für Win32 Applikationen Datenbank Microsoft SQL Server Enterprise Edition (64 Bit) 64-Bit Edition Version 2003 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

6 Microsoft Windows 64 und 32 Bit
<Vortragstitel> Microsoft Windows 64 und 32 Bit Address Space 64-bit Windows 32-bit Windows Virtual Memory 16 TB 4GB Paging File 512 TB 16TB Paged Pool 128 GB 470 MB Non-Paged Pool 256 MB System Cache 1 TB 1 GB Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

7 Unterstützt in 64 Bit Windows
<Vortragstitel> Unterstützt in 64 Bit Windows Funktionalität und Produkteigenschaften Installation Internet Information Server, Clustering, Active Directory, Terminal Server, etc. Win32 Applikationen und Komponenten werden unterstützt Multilingual User Interface für deutsch, französisch, spanisch, italienisch, japanisch and koreanisch OEM Pre-Installation Kit, WinPE SDK (Software Development Kit) DDK (Driver Development Kit) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

8 Nicht unterstützt in 64 Bit Windows
<Vortragstitel> Nicht unterstützt in 64 Bit Windows Subsysteme: DOS, 16-Bit, POSIX, OS/2 .NET Framework, CLR, ASP.NET (ab Whidbey) Windows Product Activation Jet RED Netmeeting, Windows Media Player, Windows Media Server Power Management System Restore Fax Information: “Features unavailable on 64-bit versions of the Windows Server 2003 family” (TechNet, ProdInfo) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

9 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

10 <Vortragstitel>
Gründe zur Portierung Mehr Speicher 4GB Grenze -> 16 TB Grenze Mehr Präzision Fließkomma Kalkulationen Bessere Performanzwerte Durch neue Prozessoreigenschaften VLIW, EPIC auf Itanium x64 auf Extended Architecture Intelligente Befehlausführung „High-End“ Rechner erreichen Massenmarkt 64 Bit Softwarestrategie von Microsoft Synchrone Auslieferung von 32 und 64 Bit Versionen Eine Codequelle für beide Plattformen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

11 Kandidaten zur Portierung
<Vortragstitel> Kandidaten zur Portierung CRM, ERP Wissenschaftliche Anwendungen mit Fließkommakalkulationen Datenmodellierung Systememulation CAD Ton-, Bild- und Videobearbeitung “Data mining”-basierte Software Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

12 <Vortragstitel>
Portierungswege Generelle Portierung für monolytischen Anwendungen für Anwendungen, wo alle Komponenten portiert können (technisch und wirtschaftlich) Inkrementelle Portierung Win32 und Win64 Komponenten arbeiten zusammen: WOW64 Nicht alle Komponenten/Dienste sind verfügbar für Win64 Quellcode verloren, Bibliotheken fehlen etc. Wichtig: ein Quellcodebasis für alle Plattformen! Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

13 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

14 Microsoft Windows SDK (32+64)
<Vortragstitel> Microsoft Windows SDK (32+64) Werkzeuge: Compiler (C++) Linker Profiler Debugger Hilfswerkzeuge Bibliotheken CRT, MFC, ATL Dokumentation +Beispiele Entwicklungsumgebungen für alle unterstützte Plattformen: Windows 2000, Windows XP, Windows Server 2003 Debug und Release, 32 und 64 Bit (außer Windows 2000) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

15 <Vortragstitel>
Visual Studio 6.0 C++ Unterstützung SDK vorausgesetzt Zielplattform wählen VS Integration msdev.exe starten Beide Plattformen unterstützt: Win32: Windows 2000, Windows XP, Windows Server 2003 Win64 (WOW64): Windows XP 64 Bit Edition 2003, Windows Server Bit Editions Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

16 <Vortragstitel>
Visual Studio .NET C++ Unterstützung SDK vorausgesetzt Zielplattform wählen Pfadanpassungen erforderlich devenv.exe starten Nur auf Win32 Plattform kann nicht auf Win64 installiert werden erstellt Win32 und Win64 Komponenten Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

17 <Vortragstitel>
Whidbey (2004) C++ Support .NET Support .NET Framework 2.0 Voraussetzung Beide Plattformen unterstützt Win32: Windows 2000, Windows XP, Windows Server 2003 Win64 (native): Windows XP 64 Bit Edition 2003, Windows Server 2003 Editions Native und plattformunabhängige (.NET) Softwaremodule Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

18 Softwareentwicklung mit Whidbey
<Vortragstitel> Softwareentwicklung mit Whidbey IA64 x86 Quellcode In MSIL kompilieren AMD64 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

19 64 Bit Zeitplan für Entwickler
<Vortragstitel> 64 Bit Zeitplan für Entwickler SQL Server bit Edition SQL Server “Yukon” DB Visual Studio 6.0/.NET Visual Studio “Whidbey” Werkzeuge Platform SDK .NET Framework 1.1 .NET Framework “Whidbey” API Windows API (Win32/Win64) Windows XP, Windows Server bit editions OS Aktuell “Whidbey” Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

20 64-bit Entwicklungsszenarien
<Vortragstitel> 64-bit Entwicklungsszenarien Entwicklungsumgebung Entwicklungs-plattform Zielplattform 32-bit IPF x64 Command Line SDK SDK SP1 Visual Studio 6 w/Service Pack 5 with SDK SP1 Visual Studio .NET 2003 SP3 + SDK SP1 Visual Studio .NET 2005 (future) As can be seen in this chart, using the currently available SDK, and the current incarnations of VisualStudio (.NET 2003, and 6 with SP5) you can deploy applications for any version of windows on any processor family. The only limitation is that the original Windows 64-bit Platform SDK without a servicepack does not support development for the AMD opteron. Supported Scenarios Vortragstitel STC 02. – 03. Juni 2004 Unsupported TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

21 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

22 <Vortragstitel>
Datenmodell (1) Win32: ILP32 32 Bit: Integer, Long, Pointer (plus Derivate: HANDLE, HMODULE etc.) Win64: LLP64 64 Bit: LongLong, Pointer (plus Derivate: HANDLE, HMODULE etc.) 32 Bit: Integer, Long Neue Datentypen in Win64 fixed precision: DWORD32, INT64, … pointer precision: DWORD_PTR, LONG_PTR, … specific pointer precision: POINTER_32, POINTER_64 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

23 <Vortragstitel>
Datenmodell (2) Einige Datentypen waren 32 Bit, jetzt 64 Bit LRESULT HANDLE LPARAM WPARAM size_t intptr_t uintptr_t Neu sind SIZE VARIANT Typen INT_PTR (“an INT the size of a Pointer”) Also: UINT_PTR, DWORD_PTR, LONG_PTR ULONG_PTR, etc. Tip: Identifizieren Deklaration von Typen, die sich geändert haben Neudeklarieren als SIZE VARIANT Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

24 <Vortragstitel>
Konstanten Hexadezimale Konstanten 0xFFFFFFFF ist nicht mehr -1 0xFFFFFFFF ist nicht mehr INVALID_HANDLE_VALUE 0x ist keine Maske mehr für Systemadressen #define – Compiler kann Typen nicht prüfen Bitoperationen, Bitmasken Tip: const statt #define Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

25 <Vortragstitel>
Pointer (1) DAS PROBLEM ! Win32 – 32 Bit, Win64 – 64 Bit plus Derivate: HANDLE, HMODULE, HWND, … „Truncation“ Problembereich: Cast: int x; x = (int) &y; SendMessage ( a, b, wParam, (LONG) hWnd ); Assignment: int iSize = cArray.GetSize(); // GetSize() liefert intptr_t Tip: Alle Casts zwischen POINTER und INT, LONG etc. – implizit oder explizit – entfernen unions, structs überprüfen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

26 <Vortragstitel>
Pointer (2) Fixed byte offsets: int * pThree; struct { int iCount; int * iArray [ 6 ] } ptrS; pThree = (char*)ptrS + 16; // faktisch pTwo // Alignment!!! Sized offsets: pThree = ( char* ) ptrS.iArray * sizeof ( int ); Tip: Immer sizeof(), offsetof() benutzen. Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

27 <Vortragstitel>
Alignment CPU erwartet Daten „ausgerichtet“ im Speicher Win64: Ausrichtung auf 64 Bit Grenzen Alternativ: „data packing“: Probleme mit Disk I/O, IPC, … _unaligned: macht Code langsam ohne – Exception!!! Tips: auf _unaligned und #pragma pack verzichten TYPE_ALIGNMENT(type) nutzen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

28 <Vortragstitel>
Alignment Beispiel struct node { char *l; char s; struct tnode *prev; int i; struct node *next; } Win32 4 8 12 16 20 padding Win64 4 8 12 16 20 24 28 32 36 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

29 <Vortragstitel>
Windows API (1) Geringe Änderungen Kompatibilität zu Win32 Get/SetClassLongPtr() zusätzlich zu Get/SetClassLong() Get/SetWindowLongPtr() zusätzlich zu Get/SetWindowLong() Einige Konstanten wurden angepasst Typen beachten: HWND ist nicht DWORD* Tip: SIZE VARIANT verwenden: LONG -> LONG_PTR Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

30 <Vortragstitel>
Windows API (2) Umgebungserkennung IsWow64Process() – läuft Prozess in WOW64? GetNativeSystemInfo() – welche Architektur hat der Rechner: 32 / 64 Bit CPU Type: x86, IA64, AMD64, … CPU Zusatzinfo: prozessor-spezifisch (Revision etc.) Ab Windows XP – GetProcAddress() benutzen Tip: Für Win32 Applikationen, die auf 32 Bit und (diversen) 64 Bit Plattformen laufen sollen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

31 InterProcess Communication (IPC)
<Vortragstitel> InterProcess Communication (IPC) Win32 und Win64 Code – nicht in einem Prozess! COM: 32   64: nur out-of-process Win32 COM Objekte für Win64: Portieren auf Win64 COM+ OOP Applikationen Unterstützt: Sockets, SyncObjs*, Windows Messages*, Files, Shared Memory* *Pointerkalkulationen beachten! Tip: Portierung oder OOP COM Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

32 Weitere Portierungsaspekte
<Vortragstitel> Weitere Portierungsaspekte #ifdef Win32 früher für Win16 Code Abgrenzung #ifdef ALPHA für 64 Bit Code printf(…) Formatspezifikationen %p - pointers, %x – 32 Bit %I (polymorph) und %I64 (64 Bit) Inline Assembly Code Alle Bibliotheken und Komponenten prüfen Win64 oder Win32, keine Mischung Dateisystem und Registrierungsdatenbank für Win32 unter WOW64 c:\windows\syswow64 als c:\windows\system32 HKLM\Software\Wow6432Node Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

33 <Vortragstitel>
.NET auf Windows 64 Bit .NET Framework 2.0 (Whidbey) aktuell Mai `04 Beta (MSDN) Plattform: ab Windows Server 2003 SP1 VisualStudio „Whidbey“ 64 Bit – native 32 Bit – in WOW64 Assemblies markiert für „Bitness“ 32 Bit, 64 Bit (ia64 oder amd64), Neutral („portable code“) .NET Framework 1.1 ab VS.NET SP3 in WOW64 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

34 <Vortragstitel>
Portable Managed Code Verifizierbar Nur MSIL Code (kein native Code) Keine Pointerkalkulationen Interop-Regeln Signaturen, System.IntPtr, StructLayoutAttribute, Marshal.SizeOf Architekturunabhängig: ia64, amd64 Keine Fließkommaoperationen Bitoperationen vermeiden Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

35 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

36 Treiberportierung von 32 Bit auf 64 Bit
<Vortragstitel> Treiberportierung von 32 Bit auf 64 Bit Windows 64 Bit - NUR 64 Bit Treiber ! IA64, AMD64 – architekturabhängig Microsoft Windows DDK Treibermodel hat sich nicht geändert (W2K) 64 Bit Treiber muss signiert werden 64 Bit Treiber muss PnP sein 64 Bit Treiber muss u.U. 32 Bit Anwendungen unterstützen: IOCTL / FSCTL I/O Puffer enthält Pointer oder Derivate DriverVerifier geprüft Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

37 Treiberentwicklung für 64 Bit
<Vortragstitel> Treiberentwicklung für 64 Bit Neue Datentypen (LLP64 Datenmodell) Viele neue Funktionen DMA Zugriff (+ neue Konventionen) IoIs32bitProcess(), … Alignment wie in User-Level Anwendungen TYPE_ALIGNMENT() Kernel SPI: ProbeForRead(), ProbeForWrite() STATUS_DATATYPE_MISALIGNMENT Kernel Kernel, Kernel User (32/64) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

38 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

39 Portierung von UNIX auf Win64
<Vortragstitel> Portierung von UNIX auf Win64 Schlüsselpunkte Zugriffe auf OS Funktionen Zugriffe auf OS Eigenschaften Zugriffe auf Komponente von Drittanbieter Evtl. Abweichungen vom C++ Standard Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

40 <Vortragstitel>
Portierungsbereiche Speichermodell Unix32 -> ILP32, Unix64 -> LP64, Win64 -> LLP64 Prozesse und Threads Unix –> Prozesse, Windows -> Threads System calls, APIs Treiber, Signale, … GUI Windows, .NET Makefiles Projektaufbau, Komponenten, … Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

41 Weitere Portierungsaspekte
<Vortragstitel> Weitere Portierungsaspekte Semantik von Dateideskriptoren Unterstützung für Peripheriegeräte Pfadnamen: UNIX -> Windows UNIX Namensgebung UNIX ids vs. Windows SIDs UNIX Fifo's Abweichungen vom C++ Standard UNIX Sicherheitsmodell Interpretierung von Makros Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

42 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

43 <Vortragstitel>
Produktinformation Microsoft SQL Server Bit Edition Enterprise Edition 64-bit SQL Server, 64-bit SQL Server Agent, und 64-bit analysis server 64 Bit Datenmodell Bis 18 Exabytes adressierbarer Speicher Getestet mit 512 GB Virtueller Speicher 8 TB Basiert auf SQL Server 2000 Quellcode Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

44 <Vortragstitel>
Portierungsaspekte Aufwand minimal Skripte werden weiterhin unterstützt Extended Stored Procedures müssen neu kompiliert werden: 64-bit Compiler von Platform SDK Dateiformat ungeändert Datenbank vom 32 Bit Server trennen (DETACH) Dateien auf 64 Bit Server kopieren Datenbank auf 64 Bit server einbinden (ATTACH) Interoperabilität mit anderen SQL Server Installationen Enterprise Manager ist Win32 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

45 Nicht vorhandene Funktionen
<Vortragstitel> Nicht vorhandene Funktionen Migration von SQL Server 6.5 und 7.0 Remote Installation English Query Jet engine Einige Module sind noch 32 Bit: EM, QA, DTS Designer, Wizards, Development Tools Man kann aber vom 32 Bit Client den 64 Bit Server verwalten Weitere DBLib ESQL Alle Access-basierte Provider und Treiber Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

46 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

47 Portierungsorganisation (1)
<Vortragstitel> Portierungsorganisation (1) „Single codebase“ Eine Codequelle für alle Plattformen Ablauf 64 Bit Plattform kennen lernen Projekt analysieren (was, wann und wie portiert werden soll) Quellcode überprüfen (Teil)Projekt erstellen Fehler und Warnungen beheben Testen: beide Plattformen getrennt Stabilisieren / Optimieren Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

48 Portierungsorganisation (2)
<Vortragstitel> Portierungsorganisation (2) x86 Rechner 64 Bit Rechner Entwicklung, erste Tests Kompilieren für 32 Bit und 64 Bit Erstellte Projektkomponenten auf 64 Bit Rechner übertragen Projekt testen Restliche Fehlerbehebung Optimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

49 Portierungsorganisation (3)
<Vortragstitel> Portierungsorganisation (3) Wichtige Projekteigenschaften: Konfigurationen zum Erstellen Umgebung Konfigurationen Werkzeuge (mit Versionen!) Argumente für Aufrufe von Werkzeugen Anforderungen zum Starten von 64 Bit Komponenten (+Abhängigkeiten) Komponenten von Drittanbieter Interaktionen mit 32 Bit Komponenten Auf Warnungen von Compiler / Linker achten! Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

50 <Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

51 <Vortragstitel>
Softwareoptimierung Optimierung von portierten Komponenten und Projekten Quellcode Konventionen, Checklisten FxCop für .NET Compiler, Linker neue Funktionen LTCG (Link Time Code Generation) PoGO (Profile Guided Optimization) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

52 Optimierungsschlüssel
<Vortragstitel> Optimierungsschlüssel Compiler /Wp64 – 64 Bit Portierungswarnungen (!) /O1 – Größeoptimierung /O2 – Geschwindigkeitsoptimierung /GL – Globale Optimierung Linker /OPT:REF – Entfernen der nicht-referenzierten Funktionen und Daten inkl. /OPT:ICF /OPT:ICF – Zusammenführen von Funktionsduplikaten Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

53 Link Time Code Generation
<Vortragstitel> Link Time Code Generation Wichtig für Projekte mir mehreren Modulen Compiler generiert IL in .obj-Datei (kein .NET!) Link ruft Codegenerierung beim Linken auf Behält Daten womöglich in Registers Optimierte Speichernutzung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

54 Profile Guided Optimization
<Vortragstitel> Profile Guided Optimization Ablauf Code Instrumentieren Kompilieren Ausführen Information sammeln Neu kompilieren Iterativ Optimiert: „switch“, „inline“, „block layout“, „dead blocks“ Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

55 Portierungswerkzeuge
<Vortragstitel> Portierungswerkzeuge Microsoft SDK, DDK, Debugger, VS6.0, VS.NET .NET Fx, Whidbey, FxCop Intel Compiler, Optimierungswerkzeuge AMD Compuware DevPartner64: Treiberentwicklung Sysinternals Filemon, Regmon OSR Bibliotheken, Werkzeuge Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

56 <Vortragstitel>
Mehr Informationen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit

57 Vielen Dank für die Aufmerksamkeit!
Fragen Vielen Dank für die Aufmerksamkeit! Haben Sie noch Fragen? Vortragstitel STC 02. – 03. Juni 2004

58 Wie geht es weiter auf der STC…?
Vortragstitel STC 02. – 03. Juni 2004

59 <Vortragstitel>
© 2002, Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit


Herunterladen ppt "Portierung von Applikationen auf 64 Bit Windows"

Ähnliche Präsentationen


Google-Anzeigen