Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

PROGRAMOWANIE WIZUALNE metoda tworzenia programu za pomocą narzędzi umożliwiających wybór standardowych elementów z menu z automatyczną generacją dużej.

Podobne prezentacje


Prezentacja na temat: "PROGRAMOWANIE WIZUALNE metoda tworzenia programu za pomocą narzędzi umożliwiających wybór standardowych elementów z menu z automatyczną generacją dużej."— Zapis prezentacji:

1 PROGRAMOWANIE WIZUALNE metoda tworzenia programu za pomocą narzędzi umożliwiających wybór standardowych elementów z menu z automatyczną generacją dużej części kodu źródłowego Przycisk

2 MS Windows wieloprocesowy system operacyjny sprzęg użytkowy C kilka tysięcy funkcji programowanie współbieżne START czy jest komunikat czy kom. zakończenia STOP TAK NIE TAK NIE obsługa komunikatu

3 Tworzenie Programów dla Środowiska MSWs Application Programming Interface (API) Software Development Kit (SDK) biblioteki klas : OWL (Borland), MFC (Microsoft), ATL (Microsoft) przekład programu (.exe) zawiera : treść binarną (rozkazy, dane) zasoby : ikony, kursory, mapy bitowe, menu, akceleratory, dialogi, teksty

4 MSWs MFC API Aplikacja Źródłowa AplikacjaAplikacja

5 class Baza { public : int x; } // class Potomek : public Baza { public:int y;} // Baza* ob = new Potomek; ob -> x;// ok ob -> y;// błąd (( Potomek* ) ob ) -> y;// ok

6 VBC#C++L CVB CC# CC++ CL PAKIET ( CIL.exe,.dll ) Środowisko.NET

7 P1 P2 Pn..... CLASS LIBRARY LOADER JITC BIN EXEC NET.FrameworkNET.Framework

8 pakiet ( assembly ) a - manifest b - metadane opisujące typy c - przekład w CIL d - zasoby mogą być w wielu plikach PE Header a + b + c + d Start pakiet.exe

9 wspólny system typów CTS wspólna specyfikacja języka CLS biblioteka klas platformy FCL przestrzenie nazw zbieranie śmieci wspólne środowisko wykonawcze CLR kod zarządzany i nie zarządzany

10 CIL (MSIL) class Program { static int Main(string[] args) { int a = 5, b, c; c = a + 3; b = c + 2; return b; } IL_0000: ldc.i4.5 IL_0001: stloc.0 IL_0002: ldloc.0 IL_0003: ldc.i4.3 IL_0004: add IL_0005: stloc.2 IL_0006: ldloc.2 IL_0007: ldc.i4.2 IL_0008: add IL_0009: stloc.1 IL_000a: ldloc.1 IL_000b: ret

11 ILDASM C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin.method private hidebysig static int32 Main(string[] args) cil managed {.entrypoint // Code size 12 (0xc).maxstack 2.locals init ([0] int32 a, [1] int32 b, [2] int32 c) // MSIL instructions } // end of method Program::Main

12 Plik.exe ( Release ) File size : PE header size : 4096 (496 used) (25.00%) PE additional info : 1075 ( 6.56%) Num.of PE sections : 3 CLR header size : 72 ( 0.44%) CLR meta-data size : 1404 ( 8.57%) CLR additional info : 0 ( 0.00%) CLR method headers : 13 ( 0.08%) Managed code : 19 ( 0.12%) !!!!! Data : 8192 (50.00%) Unaccounted : 1513 ( 9.23%)

13 Asembler int a = 5, b, c; xor edi,edi // a xor esi,esi // b xor ebx,ebx // c b mov edi,5 // a c = a + 3; lea eax,[edi+3] mov ebx,eax b = c + 2; lea eax,[ebx+2] mov esi,eax

14 class Program { static int Main(string[] args) { double a = 5, b, c; c = a + 3; b = c + 2; return 0; }

15 double a = 5, b, c; a fldz c fstp qword ptr [esp+8] // a = fldz fstp qword ptr [esp+10h] // b = fldz fstp qword ptr [esp+18h] // c = c fld dword ptr ds:[ h] // fstp qword ptr [esp+8] // a = 5 c = a + 3; fld qword ptr [esp+8] a fadd dword ptr ds:[ h] // a fstp qword ptr [esp+18h] b = c + 2; fld qword ptr [esp+18h] fadd dword ptr ds:[ h] // b e fstp qword ptr [esp+10h]

16 MS Visual Studio ( MFC, C++ ) 1.0,....., 6.0 MS Visual Studio.NET ( FCL, C# ) 2002, 2003, 2005, 2008, 2010, 2012 NET. Framework, NET. Compact Framework 1.0, 2.0, 3.0, 3.5, 4.0, 4.5, 5.0

17 C++ Kod Zarządzany słowo kluczoweopis __abstractklasa abstrakcyjna __boxopakowanie (stos sterta) __delegatezamiana wsk. funkcji na delegację __eventzgłoszenie zdarzenia __finallyblok końcowy obsługi wyjątków __gctyp podlega zbieraniu śmieci __identifierodróżnia identyfikatory od słów kluczowych C++ __interfacewszystkie funkcje składowe są czystymi funkcjami wirtualnymi __nogcnie podlega zbieraniu śmieci __pinzabrania przesuwania przez gc __propertytworzy właściwość __sealednie może być klasą bazową __try_castrzutowanie z ew. wyjątkiem __typeoftyp obiektu zarządzanego __valueutworzenie wartości (stos)


Pobierz ppt "PROGRAMOWANIE WIZUALNE metoda tworzenia programu za pomocą narzędzi umożliwiających wybór standardowych elementów z menu z automatyczną generacją dużej."

Podobne prezentacje


Reklamy Google