Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Informatika / programování
Od nápadu k programu (*.exe) KIT.PEF.CZU
2
v životě
3
v životě problém
4
v životě problém nápad
5
v životě problém nápad postup
6
v životě problém nápad postup realizace
7
v životě problém nápad postup realizace nezdar ?
8
v životě problém nápad postup realizace nezdar ?
9
v informatice problém nápad algoritmus realizace nezdar ?
10
v informatice problém nápad algoritmus program nezdar ?
11
v informatice problém nápad algoritmus program nezdar ?
12
něco musíte sami problém nápad
13
( když máte rozmyšleno )
a pak s počítačem problém nápad algoritmus ( když máte rozmyšleno )
14
spustíte editor problém nápad algoritmus EDITOR
15
vytvoříte zdrojovou formu ve zvoleném programovacím jazyku
napíšete program problém nápad algoritmus prg.src EDITOR vytvoříte zdrojovou formu ve zvoleném programovacím jazyku
16
spustíte překladač problém nápad algoritmus prg.src EDITOR COMPILER
17
vznikne meziforma *.obj
problém nápad prg.obj algoritmus prg.src EDITOR COMPILER lidsky čitelná zdrojová forma programu je převedena do binárního tvaru, blízkého strojovému kódu počítače
18
a vedlejší produkty problém nápad prg.obj algoritmus prg.src EDITOR COMPILER prg.err prg.lst prg.xrf kromě protokolu o chybách může překladač poskytnout např. tabulku křížových odkazů (místa použití jednotlivých proměnných)
19
spustíte linker problém nápad prg.obj algoritmus prg.src EDITOR COMPILER LINKER sys.lib prg.err prg.lib prg.lst prg.xrf při linkování dochází mj. k připojení knihovních podprogramů
20
vznikne relokativní (přemístitelná) forma
problém nápad prg.obj prg.rel algoritmus prg.src EDITOR COMPILER LINKER sys.lib prg.err prg.lib prg.lst prg.xrf
21
a různé doplňky problém nápad prg.obj prg.rel algoritmus prg.src EDITOR COMPILER LINKER sys.lib prg.err prg.err prg.lib prg.lst prg.xrf prg.map i při sestavování programu vznikají užitečné vedlejší produkty
22
potom lokátorem problém nápad prg.obj prg.rel algoritmus prg.src
EDITOR COMPILER LINKER LOCATER prg.err prg.err prg.lst prg.xrf prg.map
23
vytvoříte verzi absolutní
problém nápad prg.obj prg.rel prg.abs algoritmus prg.src EDITOR COMPILER LINKER LOCATER prg.err prg.err prg.lst prg.xrf prg.map „absolutní“ verze programu bude správně fungovat jen tehdy, pokud bude umístěna do předpokládaného místa v paměti a tam spuštěna
24
toto je použitelné jen pro specielní případy
problém nápad prg.obj prg.rel prg.abs algoritmus prg.src EDITOR COMPILER LINKER LOCATER Na absolutní adrese musí běžet např. BIOS nebo jádro operačního systému. Ostatní aplikace se spouštějí s relativní adresou (tzn. je jedno kam se do paměti nahraje). prg.err prg.err prg.err prg.lst prg.xrf prg.map prg.map …tak to bylo kdysi, ale je to tak i dnes, např. u BIOSu
25
ale může to být i jinak problém nápad prg.obj prg.rel prg.abs
algoritmus prg.src EDITOR COMPILER LINKER prg.err prg.lst prg.xrf
26
směrem k *.exe problém nápad prg.obj algoritmus prg.src prg.lib EDITOR COMPILER LINKER sys.lib prg.err prg.exe prg.lst prg.xrf při linkování dochází mj. k přípravě vazeb mezi programem a systémem (např. připojení podprogramů pro volání služeb)
27
( *.EXE je relokativní, umístění v paměti není stanoveno )
vznik *.exe problém nápad prg.obj algoritmus prg.src prg.lib EDITOR COMPILER LINKER sys.lib prg.err prg.err prg.exe prg.lst prg.xrf prg.map ( *.EXE je relokativní, umístění v paměti není stanoveno )
28
Zajímavost *.exe je LTL problém nápad prg.obj algoritmus prg.src prg.lib EDITOR COMPILER LINKER sys.lib prg.err prg.err prg.exe prg.lst prg.xrf prg.map Jednou ze služeb operačního systému je, že umí pracovat s LTL (Load Time Locatable) moduly. SYSTÉM
29
spuštění *.exe problém nápad prg.obj algoritmus prg.src prg.lib EDITOR COMPILER LINKER sys.lib Takto vypadá spuštění aplikace. TASK = úloha. prg.err prg.err prg.exe TASK prg.lst prg.xrf prg.map Při spouštění úlohy (TASKu) proběhne lokátování, tj. přepočty vázané na polohu kódu v paměti. SYSTÉM
30
ladění programu bug … štěnice, veš, skrytá chyba problém nápad prg.obj
algoritmus prg.src prg.lib EDITOR COMPILER LINKER sys.lib prg.err prg.err prg.exe prg.lst prg.xrf prg.map DEBUGGER
31
integrované vývojové prostředí
IDE - Integrated Development Environment problém nápad prg.obj algoritmus prg.src prg.lib EDITOR COMPILER LINKER sys.lib IDE prg.err prg.err prg.exe prg.lst prg.xrf prg.map MAKER DEBUGGER
32
a spouští dílčí procesy
IDE běží jako TASK a spouští dílčí procesy problém nápad prg.obj algoritmus prg.src prg.lib EDITOR COMPILER LINKER sys.lib IDE prg.err prg.err prg.exe prg.lst prg.xrf prg.map MAKER DEBUGGER SYSTÉM
33
celé schema IDE problém nápad prg.obj prg.rel prg.abs algoritmus
prg.src EDITOR COMPILER LINKER LOCATER IDE prg.err prg.err prg.exe TASK prg.lst prg.xrf prg.map MAKER DEBUGGER SYSTÉM
34
velké programy problém nápad prg.obj algoritmus prg.src prg.lib EDITOR
COMPILER LINKER sys.lib prg.err prg.err prg.exe prg.lst prg.xrf prg.map DEBUGGER SYSTÉM
35
formát *.EXE souboru hlavička obsahuje informace o místech, kde je nutno provést po natažení do paměti přepočet a opravu kódu je zde mj. i údaj o tom, kolik paměti má být programu přiděleno a kde leží start programu (tj. adresa první instrukce)
36
? problém dotazy ….
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.