PROGRAMOWANIE WIZUALNE

Slides:



Advertisements
Podobne prezentacje
Programowanie w Java.
Advertisements

Programowanie Wizualne WYKŁAD 5
Bezpieczeństwo wyjątków w C++: OpenGL
Język asemblera Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
18/11/ Języki programowania 1 Piotr Górczyński Biblioteki.
Wydajne aplikacje na platformie .NET
Programowanie obiektowe w Javie
Visual Studio Codename „Orcas”, LINQ
CLR na platformie .NET Tomasz Kostarski.
naciśnij klawisz... Bytecode vs CIL Nie zawsze kto pierwszy, ten lepszy Mirosław Szymański marzec 2004 Porównanie.
COM Maciej Głowacki
.NET - możliwości Jarosław Balcer & Jan Góralski.
Platforma .Net i Vs.Net.
Asembler i koncepcja von Neumanna
Język asemblera i koncepcja von Neumanna
Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane.
WPROWADZENIE DO JĘZYKA JAVA
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
.NET Remoting Łukasz Zawadzki.
Język Java Wielowątkowość.
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
C# Windows Forms Zastosowania Informatyki Wykład 3
C# Windows Forms Zastosowania Informatyki Wykład 2
Podstawy C# Grupa .NET PO.
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Witold Bołt Wprowadzenie do .NET Witold Bołt
Programowanie urządzeń mobilnych – wykład IV
KINECT – czyli z czym to się je?
Podstawy programowania. Język C i C++– podstawy Temat: 1
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Podstawy programowania II
Podstawy programowania II
Programy do tworzenia stron internetowych
Opracował : Przemysław Drzymała
Platformy technologiczne Platforma .net
Tworzenie aplikacji mobilnych
System operacyjny napisany w.NET (ogólnie rzecz biorąc)
Przygotował: Paweł Ziaja
Programowanie Windows na przykładzie C# część 1
Programowanie obiektowe – zastosowanie języka Java SE
Java – coś na temat Klas Piotr Rosik
Seminarium problemowe
JAVA.
Wykonał: Michał Nikołajuk
Platformy technologiczne Platforma .net
Programowanie komponentowe jesień-zima 2013
Technologie Programowania seminarium
SPECJALNOŚĆ: Oprogramowanie Systemowe
Wstęp do ASP.NET Arkadiusz Popa Serwery Aplikacji
Programowanie sieciowe w Javie
Kurs języka C++ – wykład 3 ( )
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Biblioteka DLL w oparciu o źródła w języku C
Oprogramowanie komponentowe w środowisku Microsoft Katarzyna Kuźniar 4 FDA, C1.
Programowanie zaawansowane
Platforma .NET VB.NET Maria DEMS.
Waldemar Bartyna Pytania egzaminacyjne 1.
Programowanie w środowisku sieciowym W. Bartkiewicz 1. Wprowadzenie do platformy.NET.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Platforma .Net.
Wykład 10 Programowanie w Windows 1.Aplikacja dialogowa (Dialog Based) PO10-1 / 26.
Waldemar Bartyna Pytania egzaminacyjne 1.
Programowanie Obiektowe – Wykład 6
Programowanie obiektowe – zastosowanie języka Java SE
Windows Workflow Foundation
Podstawy programowania
Założenia projektowe Javy
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

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

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

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

MSWs API MFC A p l i k a c j    API Aplikacja Źródłowa

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

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

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

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

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

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

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

Plik .exe ( Release ) File size : 16384 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%)

Asembler int a = 5, b, c; 00000015 xor edi,edi // a 00000017 xor esi,esi // b 00000019 xor ebx,ebx // c 0000001b mov edi,5 // a c = a + 3; 00000020 lea eax,[edi+3] 00000023 mov ebx,eax b = c + 2; 00000025 lea eax,[ebx+2] 00000028 mov esi,eax

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

double a = 5, b, c; 0000001a fldz 0000001c fstp qword ptr [esp+8] // a = 0 00000020 fldz 00000022 fstp qword ptr [esp+10h] // b = 0 00000026 fldz 00000028 fstp qword ptr [esp+18h] // c = 0 0000002c fld dword ptr ds:[03731140h] // 5 00000032 fstp qword ptr [esp+8] // a = 5 c = a + 3; 00000036 fld qword ptr [esp+8] 0000003a fadd dword ptr ds:[03731148h] // a + 3 00000040 fstp qword ptr [esp+18h] b = c + 2; 00000044 fld qword ptr [esp+18h] 00000048 fadd dword ptr ds:[03731150h] // b + 2 0000004e fstp qword ptr [esp+10h]

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

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)