Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

PROGRAMOWANIE WIZUALNE

Podobne prezentacje


Prezentacja na temat: "PROGRAMOWANIE WIZUALNE"— 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 NIE obsługa komunikatu TAK czy kom. zakończenia NIE TAK STOP

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 API MFC A p l i k a c j    API Aplikacja Źródłowa

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 Środowisko .NET ...... VB C# C++ L CVB CC# CC++ CL PAKIET
( CIL  .exe , .dll )

7 N E T . F r a m e w o k P1 P2 Pn ..... CLASS LIBRARY LOADER JITC BIN EXEC

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

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 (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 : 16384
PE header size : 4096 (496 used) (25.00%) PE additional info : ( 6.56%) Num.of PE sections : 3 CLR header size : ( 0.44%) CLR meta-data size : ( 8.57%) CLR additional info : ( 0.00%) CLR method headers : ( 0.08%) Managed code : ( 0.12%) !!!!! Data : (50.00%) Unaccounted : ( 9.23%)

13 Asembler int a = 5, b, c; 00000015 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 = 0 fldz fstp qword ptr [esp+10h] // b = 0 fldz fstp qword ptr [esp+18h] // c = 0 c fld dword ptr ds:[ h] // 5 fstp qword ptr [esp+8] // a = 5 c = a + 3; fld qword ptr [esp+8] a fadd dword ptr ds:[ h] // a + 3 fstp qword ptr [esp+18h] b = c + 2; fld qword ptr [esp+18h] fadd dword ptr ds:[ h] // b + 2 e fstp qword ptr [esp+10h]

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

17 C++ Kod Zarządzany słowo kluczowe opis __abstract klasa abstrakcyjna
__box opakowanie (stos  sterta) __delegate zamiana wsk. funkcji na delegację __event zgłoszenie zdarzenia __finally blok końcowy obsługi wyjątków __gc typ podlega zbieraniu śmieci __identifier odróżnia identyfikatory od słów kluczowych C++ __interface wszystkie funkcje składowe są czystymi funkcjami wirtualnymi __nogc nie podlega zbieraniu śmieci __pin zabrania przesuwania przez gc __property tworzy właściwość __sealed nie może być klasą bazową __try_cast rzutowanie z ew. wyjątkiem __typeof typ obiektu zarządzanego __value utworzenie wartości (stos)


Pobierz ppt "PROGRAMOWANIE WIZUALNE"

Podobne prezentacje


Reklamy Google