ČÁST 1. Základy 32bitového programování ve Windows



Podobné dokumenty
Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Maturitní otázky z předmětu PROGRAMOVÁNÍ

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Vstupní požadavky, doporučení a metodické pokyny

Profilová část maturitní zkoušky 2017/2018

TGMmini. začínáme. komplexní dodávky a zprovoznění servopohonů dodávky řídicích systémů

Microsoft Access tvorba databáze jednoduše

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Stručný obsah. Úvod 15. KAPITOLA 1 První kroky v systému Windows KAPITOLA 2 Hlavní panel a jeho možnosti 41. KAPITOLA 3 Soubory a složky 51

Profilová část maturitní zkoušky 2013/2014

1 Webový server, instalace PHP a MySQL 13

Komu je tato kniha určena? Jak je kniha uspořádána? Konvence použité v té to knize. Část i základy Microsoft Windows XP Professional

Programování ve Windows Dynamické knihovny. Andrea Číková Martin Osovský

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

VISUAL BASIC. Přehled témat

Přehled nabízených kurzů

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Témata profilové maturitní zkoušky

IPA - Lab.1 Úvod do programování v ASM

1. Webový server, instalace PHP a MySQL 13

Ukazka knihy z internetoveho knihkupectvi

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Maturitní témata Školní rok: 2015/2016

Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického

Informační technologie. Název oboru: Školní rok: jarní i podzimní zkušební období 2017/2018

OPERAČNÍ SYSTÉM. Informační a komunikační technologie

Kapitola 1: Co je Delphi 19. Překlad projektu 23

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

IT ESS II. 1. Operating Systém Fundamentals

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Microsoft Word základní

Reliance 3 design OBSAH

Úvodem... 9 Kapitola 1 Karetních

Stavba operačního systému

Instalace a konfigurace web serveru. WA1 Martin Klíma

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_

Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13

MS Excel makra a VBA

Předmluva 13 Použité konvence 14. KAPITOLA 1 Základní číselné soustavy a pojmy Číselné soustavy a převody 15 1.

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Výpočetní technika. PRACOVNÍ LIST č. 7. Ing. Luděk Richter

Návod pro řešení typických problémů se stabilitou AMČR

Opakování programování

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Assembler - 3.část. poslední změna této stránky: Zpět

TG Motion verze 4 Modul Virtuální PLC návod k obsluze

Témata profilové maturitní zkoušky

První kroky s METEL IEC IDE

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Ministerstvo školství, mládeže a tělovýchovy České republiky. Tematický plán Obor: Informační technologie. Vyučující: Mgr.

Ukázka knihy z internetového knihkupectví

10 Algoritmizace Příklad 2 Word 2007/ VBA

Předmluva 11 Typografická konvence použitá v knize Úvod do Excelu

ČÁST 1 ÚVOD. Instalace operačního systému 21 Aktualizace operačního systému 57 Příkazový řádek 77 Windows Script Host 103 ČÁST 2 ŘEŠENÍ

TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.

Poslední aktualizace: 21. května 2015

Operační systém MS Windows XP Professional

Počítačové kurzy buildit

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Úvod do programování

Hlavní užitečné funkce Visual LISPu jsou:

Stručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787

1. Začínáme s FrontPage

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Nápověda k aplikaci EA Script Engine

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Stručný obsah. Část I. Část II. Část III. Úvod do vývoje v prostředí Visual Studio 25. Návrh uživatelského rozhraní 127

Specifikace projektu Ocerus

Obsah. Úvod 9 Komu je kniha určena 11 Konvence použité v knize 11

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Ukazka knihy z internetoveho knihkupectvi

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Microsoft Word 2010 prostředí MS Wordu, práce se souborem

Algoritmizace a programování

Vývoj OS Windows Mobile. Ing. Jiří Šilhán

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Nástroje na vývoj aplikací pro ios Trocha motivace na úvod Co budete potřebovat Co když nemáte k dispozici počítač s macos? Vývojové prostředí Xcode

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Operační systémy. Přednáška 1: Úvod

Základy práce na PC. Ing. Jan Roubíček

Software pro grafické terminály TERM10 a TERM03

4 Microsoft Windows XP Jednoduše

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

Úvod do Linuxu. SŠSI Tábor 1

Obsah. O auto ro vi 13 V ěnování 14 Poděkování 15 Z p ětn á vazba od čtenářů 16. P rogram ování pro M in ecraft v Jávě 17

Softwarové komponenty a Internet

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Transkript:

Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25 Data v objektovém souboru 27 Kompilace s využitím TASM32 28 Zjednodušený segmentační mód 29 Utility pro práci s Assemblerem 30 Editory 31 Debuggery 31 Disassemblery 31 Hexadecimální editory 33 Kompilátory zdrojů 33 Editory zdrojů 34 Kapitola 2 Základy programování ve Windows 35 Volání funkcí 36 Struktura programu 38 Registrace třídy okna 39 Vytvoření okna 39 Smyčka pro zpracování zpráv 39 Procedura hlavního okna 39 Příklady jednoduchých programů pro Windows 40 Jak to udělat v TASM32 46 Předávání parametrů zásobníkem 51

6 Obsah Kapitola 3 Jednoduché programy v Assembleru 55 Principy vytváření programů s okny 55 Okno s tlačítkem 56 Okno s textovým polem 62 Okno se seznamem 68 Dceřiná, rodičovská a vlastněná okna 76 Kapitola 4 Přehled 16bitového programování 85 Myšlenka 16bitového programování ve Windows 85 Příklad 16bitového programu pro Windows 87 Kapitola 5 Kompilátory MASM32 a TASM32 93 Parametry příkazového řádku programů ML.EXE a TASM32.EXE 93 Parametry příkazového řádku programů LINK.EXE a TLINK32.EXE 96 Vkládání ladících informací do spustitelného souboru 101 Vývoj konzolových a GUI programů 102 Automatické linkování 102 Sebe-kompilující program 102 ČÁST 2 Programování ve Windows Kapitola 6 Kódování textu ve Windows 107 Kódování textu 107 OEM a ANSI 108 Unicode 108 Kapitola 7 Příklady jednoduchých programů 113 Výpis textu do okna 113 Výběr fontu 128 Grafika a obrázky 133 Kapitola 8 Konzolové programy 145 Vytvoření konzoly 149

Obsah 7 Zpracování událostí klávesnice a myši 154 Časovač v konzolových programech 160 Kapitola 9 Zdroje: editory zdrojů a kompilátory 169 Jazyk pro popis zdrojů 169 Ikony 170 Kurzory 172 Bitmapy 173 Řetězce 173 Dialogy 173 Nabídky (menu) 178 Klávesové zkratky 183 Nemodální dialogy 186 Kompilace a linkování pomocí TASM32 191 Kapitola 10 Příklady programů využívajících zdroje 193 Dynamické nabídky 193 Horké klávesy 204 Správa seznamů 211 Programování ve stylu Windows XP 217 Kapitola 11 Práce se soubory 223 Vlastnosti souboru 223 Atributy souboru 224 Souborový systém FAT32 226 Souborový systém NTFS 229 Adresáře v NTFS 232 Komprese souborů v NTFS 232 Body regenerace 233 Vyhledávání souborů 234 Kompilace programu pomocí TASM32 250 Práce s binárními soubory 251 Jak získat časové údaje o souboru 263

8 Obsah ČÁST 3 Sofistikovanější příklady programování ve Windows Kapitola 12 Direktivy a makro nástroje Assembleru 269 Návěští 269 Struktury 271 Uniony 271 Pohodlná metoda práce se strukturami 272 Podmíněná kompilace 272 Volání funkcí 273 Opakování pomocí direktiv 274 Makro definice 275 Další direktivy Assembleru 276 Konstrukty Assembleru 277 Podmíněné konstrukty 277 Smyčka WHILE 278 Vytváření programů kompilovatelných v MASM32 i TASM32 279 Kapitola 13 Více o správě souborů 281 Detailní popis funkce CreateFile 281 Další možnosti funkce CreateFile 285 Mailslot 285 Roury 290 Disková zařízení 291 Přehled dalších funkcí pro správu souborů 295 Asynchronní vstup a výstup 296 Kapitola 14 Příklady programů používajících časovač 301 Nejjednodušší příklad použití časovače 302 Interakce mezi časovači 307 Okna s nápovědou 313 Kapitola 15 Multitasking 327 Vytvoření procesu 327 Vlákna 336 Komunikace mezi vlákny 342

Obsah 9 Semafory 344 Události 345 Kritické sekce 346 Mutex 356 Kapitola 16 Dynamické knihovny 357 Základní koncept 357 Vytvoření knihovny DLL 359 Implicitní linkování 363 Využití společného adresového prostoru 365 Paměť sdílená procesy 374 Kapitola 17 Síťové programování 379 Síťová zařízení 379 Vyhledávání a připojování k síťovým zařízením 385 O protokolech TCP/IP 398 Model OSI 398 Rodina protokolů TCP/IP 399 Adresace v protokolu IP 400 Maska sítě 401 Linkové adresy a adresy IP 401 Služba DNS 402 Dynamické adresy IP 402 Směrování 402 Správa soketů 403 Příklad jednoduchého programu klient-server 407 Kapitola 18 Řešení některých problémů programování ve Windows 421 Umístění ikony do systémové lišty 421 Zpracování souborů 427 Omezení vstupu do textového pole 429 Výměna dat mezi procesy 438 Zabránění vícenásobného spuštění programu 444 Operace se skupinami souborů a adresáři 444 Tiskový výstup 446 Seznam běžících procesů 446

10 Obsah ČÁST 4 Debugging, analýza kódu, vývoj ovladačů Kapitola 19 Systémové programování ve Windows 455 Stránkování a segmentace 455 Adresový prostor procesu 459 Správa paměti 461 Háky 467 Kapitola 20 Používání Assembleru společně s vyššími programovacími jazyky 477 Koordinace volání 477 Koordinace názvů 478 Koordinace parametrů 479 Jednoduchý příklad použití Assembleru ve vyšším programovacím jazyce 480 Borland C++ 5.0 480 Visual C++ 7.0 481 Delphi 7.0 482 Předávání parametrů pomocí registrů 484 Volání funkcí API a zdroje v programech vytvořených v Assembleru 485 Kombinované použití jazyka C a Assembleru 490 Přímý zápis kódu v Assembleru ve vyšším programovacím jazyce 497 Příklad použití dynamické knihovny 498 Kapitola 21 Programování služeb 503 Základy služeb 503 Struktura služeb 506 Ukázka služby 510 Kapitola 22 Přehled debuggerů a disassemblerů 527 Utility Microsoftu 527 EDITBIN.EXE 527 DUMPBIN.EXE 529 Utility od dalších vývojářů 530 DUMPPE.EXE 530

Obsah 11 HIEW.EXE 531 DEWIN.EXE 533 IDA Pro 533 Kapitola 23 Základy Turbo Debuggeru 537 Ladění programů vytvořených ve vyšších programovacích jazycích 541 Technika ladění 542 Kapitola 24 Práce s disassemblerem W32Dasm a debuggerem SoftIce 545 Debugger W32Dasm 545 Začínáme 545 Navigace v disassemblovaném kódu 547 Zobrazení dat 548 Zobrazení importovaných a exportovaných funkcí 549 Zobrazení zdrojů 549 Práce s kódem 550 Načítání programů pro ladění 550 Práce s knihovnami DLL 551 Breakpointy 551 Modifikace kódu, dat a obsahu registrů 552 Další možnosti práce s funkcemi API 553 Hledání požadovaného místa v programu 553 Debugger SoftIce 554 Instalace 554 Načtení programu pro ladění 555 Přehled příkazů programu SoftIce 555 Kapitola 25 Základy analýzy kódu 559 Proměnné a konstanty 559 Základní struktury jazyka C 563 Podmíněné konstrukty 563 Vnořené podmíněné konstrukty 564 Switch 564 Cykly 565 Lokální proměnné 566 Funkce 567 Optimalizace kódu 568 Rychlost vs. velikost 570

12 Obsah Optimalizace podmíněných skoků 571 Optimalizace volání funkcí 571 Objektově orientované programování 572 Kapitola 26 Oprava spustitelných souborů 577 Praktický příklad opravení spustitelného souboru 577 Hledání procedury okna 580 Kapitola 27 Struktura a vývoj ovladačů 583 VxD ovladače 583 Popis projektu 585 Příklad ovladače 588 Dynamické virtuální ovladače 591 Základy ovladačů pracujících v režimu jádra 596 Jádro a struktura paměti 597 Ovládání ovladačů 598 Příklad jednoduchého ovladače pracujícího v režimu jádra 599 Ovladače pracující v režimu jádra a zařízení 612 Bibliografie 624 Rejstřík 625