Narz«dzia do programowania w j«zyku C

Wielkość: px
Rozpocząć pokaz od strony:

Download "Narz«dzia do programowania w j«zyku C"

Transkrypt

1 Narz«dzia do programowania w j«zyku C Cz«æ I Opracowa : dr iný. Zbigniew Jaworski 1. Kompilator j«zyka C J«zyk C jest j«zykiem og lnego stosowania. Jest on jednak æciæle zwiˆzany z systemem Unix, dlaêpotrzeb kt rego zosta opracowany. System operacyjny, kompilator C i niemal wszystkie programy us ugowe systemu Unix zosta y napisane w C (lub C++). W starszych wersjach system w (np. w systemie SunOS 4.x) kompilator j«zyka C by dostarczany przez producenta i standardowo nosi nazw«cc. Powodem tego by a konstrukcja systemu, kt ra w przypadku zmiany konfiguracji jˆdra wymaga a jego rekomplilacji. Obecnie wi«kszoæ system w nie wymaga takich operacji i kompilator C nie jest elementem systemu. Opr cz kompilator w Òwbudowanych do systemuó istniejˆ r wnieý inne ich wersje, zar wno komercyjne jak i dost«pne jako freeware (np.: kompilator gcc stworzony iêrozpowszechniany przez Free Software Foundation). W dalszej cz«æci tej instrukcji zajmowa si«b«dziemy kompilatorem gcc Od tekstu r d owego programu do kodu wykonywalnego Proces tworzenia binarnego kodu wykonywalnego, zwany zwyczajowo kompilacjˆ, sk ada si«zêkilku odr«bnych etap w.êsˆ to: Êprekompilacja (ang. preprocessing) - polega na stworzeniu ostatecznego tekstu r d owego programu poprzez w ˆczenie plik w wskazanych dyrektywˆ preprocesora #include, wykonanie podstawieä makrodefinicji #define i opcjonalne usuni«cie komentarzy. Êkompilacja do kodu asemblera (ang. compilation) - polega na tym, ýe kompilator przeglˆdajˆc kod r d owy programu otrzymany po etapie prekompilacji wyszukuje tokeny (s owa kluczowe, operatory) i przekszta ca je na wewn«trznˆ reprezentacj«. Reprezentacja wewn«trzna jest nast«pnie przekszta cana na kod asemblera. Jeæli nie jest to moýliwe to kompilator sygnalizuje b «dy. Êoptymalizacja kodu asemblera (ang. optymalization) - polega na zmianie kodu asemblera w celu zwi«kszenia jego efektywnoæci. Kod poddawany jest modyfikacjom takim jak zmiana sposobu obliczania adres w wzgl«dnych, eliminacja nieuýywanych fragment w kodu, optymalizacja przydzia u rejestr w oraz zmiana lokalnych odwo aä w taki spos b, by uýywany by wska nik stosu. Ten etap kompilacji jest opcjonalny. Êasemblacja (ang. assembly) - polega na przetworzeniu kodu asemblera w relokowalny kod w j«zyku maszynowym. Instrukcje w tym kodzie nie odnoszˆ si«jeszcze do konkretnych adres w w pami«ci. Kod umieszczany jest w pliku obiektowym (ang. object file). Etap ten wykonywany jest przez program as (systemowy) lub gas (z pakietu GNU)

2 Êkonsolidacja (ang. link editing) - konsolidator, lub ýargonowo linker (ang. link editor), dokonuje szeregu operacji w celu stworzenia pliku binarnego z kodem wykonywalnym : 1)Êprzeszukanie standardowego zestaw bibliotek oraz bibliotek wskazanych w linii wywo ania w celu w ˆczenia do programu kodu funkcji niezdefiniowanych w modu ach stworzonych przez uýytkownika (np.: printf(), sin()). W przypadku braku kodu danej funkcji we wszystkich przeszukanych bibliotekach konsolidator sygnalizuje b «dy i koäczy prac«. 2)Êprzypisanie kodu maszynowego do ustalonych adres w, np. zmienne globalne otrzymujˆ konkretne adresy tak, aby moýna si«odwo ywa do ich wartoæci. 3)Êutworzenie wykonywalnego pliku binarnego w formacie ELF (ang. Executable and Linking Format) Konsolidacja wykonywana jest przez program ld Parametry wywo ania kompilatora Polecenie wywo ania kompilatora ma nast«pujˆcˆ posta : gccêê[opcje]êêplik1 É plikn Zawartoæ argumentu pliki okreælana jest na podstawie dwuznakowego rozszerzenia (koäc wki nazwy), zgodnie z nast«pujˆcˆ konwencjˆ : Rozszerzenie Zawartoæ Przyk ad.c tekst r d owy w j«zyku C main.c.s kod w j«zyku asemblera main.s.o kod relokowalny (wynik asemblacji) main.o.a biblioteka libc.a Do najcz«æciej uýywanych opcji naleýˆ: -oênazwaêpowoduje zmian«nazwy programu wynikowego na podanˆ przez uýytkownika; np.: gcc -o prog main.c, powoduje nadanie nazwy prog zamiast standardowej a.out, -E powoduje zatrzymanie po etapie prekompilacji, wyniki sˆ wypisywane na ekran, -S powoduje zatrzymanie po etapie generowania kodu asemblera, wyniki sˆ umieszczane w pliku z rozszerzeniem.s, -c powoduje zatrzymanie po etapie asemblacji, wyniki sˆ umieszczane w pliku zêrozszerzeniem.o, -Dmakro uýycie opcji jest r wnoznaczne z umieszczeniem liniiê#define makro naêpoczˆtku pliku zawierajˆcego tekst r d owy, -Umakro uýycie opcji jest r wnoznaczne z umieszczeniem liniiê#undefêmakro naêpoczˆtku pliku zawierajˆcego tekst r d owy, -O powoduje wykonanie optymalizacji, - 2 -

3 -Opoziom powoduje wykonanie bardziej z oýonej optymalizacji. Parametr poziom moýe przyjmowa wartoæci 1, 2 i 3. Uýycie tej opcji powoduje wzrost czasu kompilacji i zapotrzebowania na pami«w por wnaniu do opcji -O. -g powoduje w ˆczanie do pliku wynikowego informacji (numery linii, typ i rozmiar identyfikator w, tablica symboli) umoýliwiajˆcych æledzenie wykonywania programu wynikowego (ang. debugging); UWAGA! Opcje -O i -g zwykle nie mogˆ by stosowane jednoczeænie. Jednak kompilator gcc dopuszcza takˆ moýliwoæ pozwalajˆc na ograniczone æledzenie zoptymalizowanego kodu programu. -Idir powoduje w ˆczenie katalogu dir do zestawu katalog w, w kt rych naleýy poszukiwa plik w nag wkowych, -Ldir powoduje w ˆczenie katalogu dir do æcieýki poszukiwaä bibliotek; w linii wywo ania opcja ta musi poprzedza opcj«-l (wyjaænienie poniýej), -lident polecenie dla konsolidatora (programu ld), kt re powoduje, ýe bibliotekaêlibident.aêjest przeszukiwana w celu znalezienia kodu funkcji zewn«trznych. -pipe powoduje, ýe kompilator gcc zamiast tworzy pliki poærednie do komunikacji pomi«dzy programami wykonujˆcymi kolejne etapy kompilacji wykorzystuje do tego celu ˆcza (ang. pipe). Opcja nie dzia a na systemach gdzie asembler nie moýe czyta danych ze strumienia wejæciowego. Dzia a prawid owo przy korzystaniu z asemblera gas. -ansi tekst r d owy musi by w 100% by zgodny z normˆ ANSI j«zyka C. -traditional toleruje starsze konstrukcje j«zyka C, z tzw. wersji j«zyka K&R opisanˆ w ksiˆýce autor w j«zyka B.W.Kernighan i D.M.Ritchie Najprostszym sposobem uýycia kompilatora jest wydanie polecenia : gcc main.c Kompilator potraktuje wtedy zawartoæ pliku main.c jako tekst r d owy w C (zgodnie z obowiˆzujˆcˆ konwencjˆ) i wykona wszystkie etapy kompilacji, aý do uzyskania kodu wykonywalnego, kt ry zostanie umieszczony w pliku o standardowej nazwie a.out. Na etapie konsolidacji pod uwag«b«dzie wzi«ta tylko biblioteka libc.a, zawierajˆca kod standardowych funkcji j«zyka C takich jak printf(), fopen(), i.t.d. Wszystkie pliki poærednie zostanˆ usuni«te. W bardziej skomplikowanym przypadku, gdy tekst r d owy znajduje si«nie w jednym lecz w kilku plikach, np.: main.c, data.c, input.c i output.c i dodatkowo programista uýy funkcji matematycznych, polecenie kompilacji powinno wyglˆda nast«pujˆco : gccêinput.cêoutput.cêdata.cêmain.cê-lm Kompilator dla kaýdego z plik w wykona wszystkie etapy kompilacji, aý do uzyskania plik w obiektowych main.o, data.o, input.o i output.o, a nast«pnie dokona ich konsolidacji biorˆc tym razem pod uwag«opr cz biblioteki libc.a takýe bibliotek«libm.a zawierajˆcˆ kod funkcji takich jak sin(), cos(), i.t.d. Program wykonywalny znajdzie si«w pliku a.out. Podobnie jak wêpoprzednim przyk adzie wszystkie pliki poærednie opr cz plik w obiektowych zostanˆ usuni«te

4 Argumentami wywo ania kompilatora gcc mogˆ by r ýne typy plik w i moýliwa jest sytuacja, wêkt rej kaýdy z argument w jest innego typu (uzyskany zosta przez zatrzymanie kompilacji po innym etapie), np.: gccêmain.oêdata.sêinput.iêoutput.cê-lm Pliki, kt re w czasie prekompilacji majˆ by w ˆczone do tekstu programu (przy pomocy dyrektywy #include) muszˆ znajdowa si«w bieýˆcym katalogu (dotyczy to plik w nag wkowych stworzonych przez uýytkownika) lub w standardowym katalogu instalacyjnym kompilatora (standardowe pliki nag wkowe kompilatora. np. stdio.h). Jeæli programista chce umieæci w asne pliki nag wkowe w innym katalogu niý pliki z tekstem r d owym, to by uczyni je dost«pnymi dla kompilatora, musi w linii wywo ania uýy opcji -Idir, gdzie dir jest nazwˆ tego katalogu (wzgl«dnˆ lub bezwgl«dnˆ). Przyk adowo, jeæli pliki nag wkowe zosta y umieszczone w katalogu../headers to wywo anie kompilatora ma posta : gccê-i../headersêêinput.cêoutput.cêdata.cêmain.c Podobnie jest w przypadku bibliotek. Konsolidator oczekuje, ýe biblioteki znajdujˆ si«w standardowym katalogu instalacyjnym. Jeæli uýytkownik korzysta z innych bibliotek (np.êstworzonych samodzielnie) to musi poinformowa konsolidator przy pomocy opcji -Ldir, gdzie one si«znajdujˆ. Informacja ta musi poprzedzi opcj«-l. Przyk adowo, jeæli dodatkowa biblioteka nosi nazw«libusux.a i znajduje si«w katalogu../libs, to wywo anie kompilatora powinno mie posta : gccêmain.cêdata.cêinput.cêoutput.cê-l../libê-lusux Naleýy zwr ci uwag«na regu «nadawania bibliotekom nazw. Nakazuje ona, by nazwa bibioteki mia a posta libident.a, gdzie pole ident moýe mie d ugoæ od 1 do 7 znak w. W linii wywo ania kompilatora, po opcji -l, podawana jest tylko cz«æ ident zamiast ca ej nazwy biblioteki, np.: -lm dla biblioteki libm.a. 2. Biblioteki Bibliotekˆ (ang. library archive) jest archiwum plik w obiektowych zawierajˆce nag wek, w kt rym znajdujˆ si«informacje m.in. o nazwach i po oýeniu wewnˆtrz archiwum poszczeg lnych obiekt w oraz tablic«symboli bibliteki. Taka organizacja biblioteki zwi«ksza efektywnoæ jej przeszukiwania podczas konsolidacji. Wraz z systemem dostarczane sˆ jego standardowe biblioteki takie jak libc.a czy libm.a. Opr cz nich istniejˆ biblioteki zawierajˆce zestaw funkcji przeznaczonych do specjalnych zastosowaä jak np. libcurses.a umoýliwiajˆca programiæcie programowˆ obs ug«terminali. Niezaleýnie od bibliotek dost«pnych w danym systemie kaýdy uýytkownik moýe tworzy w asne biblioteki, kt re mogˆ by nast«pnie uýywane w taki sam spos b jak systemowe. Do tego celu uýywany jest program ar. Zasady pos ugiwania si«tym programem sˆ bardzo podobne do sposobu korzystania z programu tar. Wywo anie ar ma nast«pujˆcˆ sk adni«: arêê[opcje]êêarchiwumêêplik1... plikn Argument archiwum jest nazwˆ biblioteki, a plik1 É plikn sˆ plikami obiektowymi, zêkt rych naleýy stworzy bibliotek«, lub kt re naleýy wyekstrahowa lub usunˆ z biblioteki. Najcz«æciej uýywane opcje to: - 4 -

5 -d usuwanie z archiwum wskazanego pliku, -q dodaje plik na koniec archiwum (UWAGA! nie sprawdza czy dany plik jest juý w archiwum), -r zamiana (lub dodanie) wskazanego pliku w archiwum; jeæli pliku nie ma w archiwum to nast«puje jego dodanie, a w przypadku gdy nie istnieje archiwum - jego utworzenie, -u uýywana razem z -r powoduje, ýe zamiana nast«puje tylko wtedy, gdy data modyfikacji pliku w archiwum jest wczeæniejsza niý data modyfikacji pliku podanego jako argumentu, -s ponowne utworzenie tablicy symboli biblioteki; umoýliwia odtworzenie tablicy symboli po jej usuni«ciu programem strip, -t wypisanie zawartoæci archiwum; zwykle uýywana razem z opcjˆ -v, -x ekstrakcja wskazanego lub wszystkich plik w z archiwum (nie niszczy archiwum), -v wyæwietlanie bardziej szczeg owych informacji podczas dzia ania. Przyk adowo, jeæli programista chce utworzy bibliotek«libusux.a z nast«pujˆcych plik w: funkcja1.o,êfunkcja2.oêiêfunkcja3.o,êto polecenie moýe mie posta : arêê-rvêêlibusux.aêêfunkcja1.oêfunkcja1.oêfunkcja1.o lub arêê-ruvêêlibusux.aêêfunkcja1.oêfunkcja1.oêfunkcja1.o Jeæli biblioteka libusux.a nie istnia a wczeæniej, to w obu przypadkach zostanie utworzona. Opcja Ðr stanowi zabezpieczenie przed sytuacjˆ, w kt rej do istniejˆcej juý biblioteki dopisywane by y by za kaýdym razem nowe wersje plik w funkcja1.o, funkcja2.o i funkcja3.o. Sprawdzenie zawartoæci biblioteki moýliwe poprzez wydanie nast«pujˆce polenia: arêê-tvêêlibusux.a 3. Pomocnicze programy narz«dziowe W procesie tworzenia programu uýytkownik moýe wykorzystywa nast«pujˆce programy pomocnicze, dost«pne standardowo w systemie Unix: gdb nm strip program uruchomieniowy (ang. debugger) wypisuje informacje zawarte w tablicy symboli pliku wykonywalnego, pliku obiektowego lub biblioteki, usuwa z pliku wykonywalnego, pliku obiektowego lub biblioteki tablic«symboli oraz dodatkowe informacje do ˆczone do pliku w wyniki kompilacji z uýyciem opcji -g, - 5 -

6 4. Program uruchomieniowy W pakiecie GNU dost«pny jest program uruchomieniowy gdb. Jego wywo anie jest nast«pujˆce: gdb [opcje]êêprogram [core] lub gdb [opcje]êêprogram [process_id] Program umoýliwia krokowe wykonywanie programu, ustawianie pu apek, æledzenie wartoæci zmiennych i wyraýeä i inne typowe dla program w uruchomieniowych operacje. Oczywiæcie uruchamiany program (a dok adnie kaýdy plik zawierajˆcy tekst rod owy) musi by skompliwany z uýyciem opcji -g. Po wywo aniu program gdb komunikuje si«z uýytkiem za pomocˆ prostej pow oki takich jak bash czy zsh. Jednˆ z komend jest help, kt re pozwala uzyska informacje o dost«pnych poleceniach i ich sk adni w aktualnej wersji programu

WYKŁAD 1 - KONSPEKT. Program wykładu:

WYKŁAD 1 - KONSPEKT. Program wykładu: mgr inż. Jarosław Forenc e-mail: jarekf@pb.bialystok.pl tel. (0-85) 746-93-97 WWW: http://we.pb.bialystok.pl/~jforenc konsultacje: zaliczenie: Program wykładu: WYKŁAD 1 - KONSPEKT 1. Ogólna struktura programu

Bardziej szczegółowo

LINUX - Środowisko programistyczne

LINUX - Środowisko programistyczne Artykuł pobrano ze strony eioba.pl LINUX - Środowisko programistyczne 1. Narzędzia programistyczne w systemach typu Unix Język C jest językiem programowania ogólnego przeznaczenia. Jest on jednak mocno

Bardziej szczegółowo

Kompilacja i scalanie programów w linii poleceń gcc i make

Kompilacja i scalanie programów w linii poleceń gcc i make Kompilacja i scalanie programów w linii poleceń gcc i make Małgorzata Stankiewicz kwiecień 2012 Małgorzata Stankiewicz () gcc i make kwiecień 2012 1 / 26 GCC - GNU Compiler Collection GCC Zestaw kompilatorów

Bardziej szczegółowo

Konsolidacja (linking)

Konsolidacja (linking) Konsolidacja (linking) 1 Ostatni etap budowania programu PRE- PROCESSING KOMPILACJA ASEMBLACJA LINKING Łączenie osobnych fragmentów kodu maszynowego w plik wykonywalny Wykonywana przez linker ld w systemie

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

RODOWISKO DEV-C++ Wymagania sprz towe (zalecane): - Microsoft Windows 2000, XP - 32 MB RAM - 400 MHz Intel compatible CPU, 200 MB free disk space

RODOWISKO DEV-C++ Wymagania sprz towe (zalecane): - Microsoft Windows 2000, XP - 32 MB RAM - 400 MHz Intel compatible CPU, 200 MB free disk space rodowisko Dev-C++: RODOWISKO DEV-C++ - produkcja: Bloodshed Software - internet: www.bloodshed.net - licencja: Free Software distributed under the GNU General Public License - wersja: 5.0 beta 9.2 (4.9.9.2)

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

Programowanie w asemblerze Linkowanie

Programowanie w asemblerze Linkowanie Programowanie w asemblerze Linkowanie January 17, 2017 Problem rozmieszczenia (relokacji) Ponieważ w pamięci równocześnie może znajdować się kilka programów, nie można w trakcie kompilacji przewidzieć

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

Fragment wykładu z języka C ( )

Fragment wykładu z języka C ( ) Fragment wykładu z języka C (2002-2009) Piotr Szwed pszwed@agh.edu.pl Program make Typowy program w języku C/C++ składa się z wielu odrębnych modułów (jednostek translacji). Ich liczba może dochodzić do

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

Instytut Mikroelektroniki i Optoelektroniki PW Materia y pomocnicze do przedmiotu Uýytkowanie Systemu Unix. Program make

Instytut Mikroelektroniki i Optoelektroniki PW Materia y pomocnicze do przedmiotu Uýytkowanie Systemu Unix. Program make Program make Opracowa : dr iný. Zbigniew Jaworski 1. Wst«p Program make jest standardowym narz«dziem dost«pnym w ærodowisku systemu UNIX u atwiajˆcym programiæcie prac«nad tworzeniem programu. Podstawowˆ

Bardziej szczegółowo

Systemy Operacyjne - Operacje na plikach

Systemy Operacyjne - Operacje na plikach Systemy Operacyjne - Operacje na plikach Andrzej Stroiński Institute of Computer Science Poznań University of Technology 1 październik, 2012 Wprowadzenie do ANSI-C Pomoc systemowa man gcc man 2 write man

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Edytor wzor w strukturalnych "ISIS Draw"

Edytor wzor w strukturalnych ISIS Draw Edytor wzor w strukturalnych "ISIS Draw" ARAKTERYSTYKA PRGRAMU Za pomocˆ programu "ISIS Draw" moýna rysowa iêmodyfikowa wzory strukturalne zwiˆzk w chemicznych iêschematy mechanizm w reakcji. a obrazy

Bardziej szczegółowo

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Programowanie w C++ Wykład 1 Katarzyna Grzelak 26 luty 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 28 Umiejętność, która otwiera

Bardziej szczegółowo

Podstawy programowania. Wykład 9 Preprocesor i modularna struktura programów. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 9 Preprocesor i modularna struktura programów. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 9 Preprocesor i modularna struktura programów Krzysztof Banaś Podstawy programowania 1 Programy Większość programów w C stanowią rozbudowane kody, definiujące wiele funkcji

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania Język C Budowa programu napisanego w języku C podział na pliki z definicjami funkcji, korzystanie z bibliotek systemowych i własnych automatyzacja kompilacji za pomocą make dzielenie

Bardziej szczegółowo

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Programowanie w C++ Wykład 1 Katarzyna Grzelak 25 luty 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 38 Umiejętność, która otwiera

Bardziej szczegółowo

Proces tworzenia programu:

Proces tworzenia programu: Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów

Bardziej szczegółowo

Podstawy Informatyki Języki programowania c.d.

Podstawy Informatyki Języki programowania c.d. Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C Systemy wbudowane Mikrokontrolery AVR Wprowadzenie do programowania w C dr inż. Maciej Piechowiak Wprowadzenie język C jest językiem strukturalnym wysokiego poziomu, jednak działającym blisko sprzętu i

Bardziej szczegółowo

Wykład 4. Środowisko programistyczne

Wykład 4. Środowisko programistyczne Wykład 4 Dostępne kompilatory KEIL komercyjny GNU licencja GPL ARM komercyjny IAR komercyjny 2 Porównanie kompilatorów 3 Porównanie kompilatorów 4 Keil uvision Graficzny edytor Kompilator i linker Symulator

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Makefile Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 14 Co to jest Makefile Makefile jest plikiem reguł dla programu make. Wykorzystywany jest

Bardziej szczegółowo

Systemy wbudowane. Rysunek 1: Ilustracja procesu kompilacji oprogramowania

Systemy wbudowane. Rysunek 1: Ilustracja procesu kompilacji oprogramowania Rozdział 1 PROCES KOMPILACJI I KONSOLIDACJI 1.1. WSTĘP Przed wgraniem do pamięci urządzenia wbudowanego program zapisany w formie pliku lub zbioru plików tekstowych stanowiących tzw. kod źródłowy musi

Bardziej szczegółowo

Systemy Operacyjne. Ćwiczenia

Systemy Operacyjne. Ćwiczenia Systemy Operacyjne Ćwiczenia Sprawy organizacyjne Kontakt: Artur.Basiura@agh.edu.pl Konsultacje po uzgodnieniu mailowym terminu Prośba o kontakt mailowy do jednej osoby z grupy (zmiany w terminach zajęć)

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.

Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików. Spis treści 1 Krótkie wprowadzenie do makefile'a 1.1 Typowa reguła programu make 1.2 Zmienne w pliku Makefile 1.3 Zmienne standardowe 1.4 Zmienne automatyczne 1.5 Więcej o regułach 1.5.1 Reguły z wzorcem

Bardziej szczegółowo

Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot

Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów mgr inż. Arkadiusz Chrobot 10 listopada 2010 1 Preprocesor Preprocesor jest programem uruchamianym przed właściwym procesem kompilacji

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie

Bardziej szczegółowo

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Bash - wprowadzenie. Bash - wprowadzenie 1/39 Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:

Bardziej szczegółowo

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces Procesy pojęcia podstawowe 1 1.1 Jak kod źródłowy przekształca się w proces W języku wysokiego poziomu tworzy się tak zwany kod źródłowy który po zapisaniu będzie plikiem z programem źródłowym. Plik źródłowy

Bardziej szczegółowo

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.

Bardziej szczegółowo

Języki i metody programowania I

Języki i metody programowania I Języki i metody programowania I dr inż. Piotr Szwed Katedra Informatyki Stosowanej C2, pok. 403 e-mail: pszwed@agh.edu.pl http://home.agh.edu.pl/~pszwed/ Aktualizacja: 2012-10-04 Informacje o przedmiocie

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ PRZYDZIAŁ PAMIĘCI OPERACYJNEJ dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Wstęp Pamięć komputera wielka tablica słów (bajtów)

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski Sposoby wykrywania i usuwania błędów Tomasz Borzyszkowski Mylić się jest rzeczą ludzką Typy błędów: błędy specyfikacji: źle określone wymagania błędy projektowe: nieodpowiednie struktury danych i algorytmy

Bardziej szczegółowo

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII

Bardziej szczegółowo

Programy użytkowe (utilities)

Programy użytkowe (utilities) nm wypisuje symbole w plikach wykonywalnych, plikach wynikowych (*.o) lub ich kolekcjach (bibliotekach, *.a). Składnia: nm plik. Plik wynikowy, z którego pochodzi symbol. Wartość symbolu. Typ symbolu (najczęściej

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil Środowisko Krzysztof Świentek Systemy wbudowane Spis treści 1 2 Źródła 1 http://infocenter.arm.com 2 http://www.keil.com/arm/mdk.asp 3 http://pl.wikipedia.org Spis treści 1 2 Co to jest toolchain? Zbiór

Bardziej szczegółowo

Uniwersytet Rzeszowski

Uniwersytet Rzeszowski Uniwersytet Rzeszowski Interdyscyplinarne Centrum Modelowania Komputerowego Inżynieria oprogramowania Część 1: Tworzenie dokumentacji projektowej Opracował: dr inż. Przemysław Pardel v2.01 2014 1. Dokumentacja

Bardziej szczegółowo

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

DOS Podstawowe komendy Przygotowanie dyskietki do pracy Praca z katalogami w systemie DOS Operacje kopiowania

DOS Podstawowe komendy Przygotowanie dyskietki do pracy Praca z katalogami w systemie DOS Operacje kopiowania DOS (Disk Operation System) jest dyskowym systemem operacyjnym przeznaczonym dla jednego użytkownika, do 16-bitowych mikrokomputerów wykorzystujących procesory rodziny Intel 8086. Wygoda użytkowania oraz

Bardziej szczegółowo

Laboratorium 2: Biblioteki statyczne i dynamiczne w języku C. mgr inż. Arkadiusz Chrobot

Laboratorium 2: Biblioteki statyczne i dynamiczne w języku C. mgr inż. Arkadiusz Chrobot Laboratorium 2: Biblioteki statyczne i dynamiczne w języku C mgr inż. Arkadiusz Chrobot 21 października 2010 1 Wprowadzenie Pisząc programy w języku C, szczególnie te duże, nie musimy umieszczać całości

Bardziej szczegółowo

Kernel Kompilacja jądra

Kernel Kompilacja jądra Kernel Kompilacja jądra systemu Co to jest jądro systemu operacyjnego Jądro systemu operacyjnego jest rozpowszechniane na licencji GNU General Public License (GPL) określonej przez konsorcjum Free Software

Bardziej szczegółowo

Komputery przemysłowe i systemy wbudowane

Komputery przemysłowe i systemy wbudowane Komputery przemysłowe i systemy wbudowane Systemy operacyjne w systemach wbudowanych 2 KSEM WETI PG October 7, 2015 System operacyjny System operacyjny (OS) - opcjonalny w systemach wbudowanych. zbiór

Bardziej szczegółowo

Functionalization. Jeszcze o funkcjach i strukturze projektu. Marcin Makowski. 3 grudnia Zak lad Chemii Teoretycznej UJ

Functionalization. Jeszcze o funkcjach i strukturze projektu. Marcin Makowski. 3 grudnia Zak lad Chemii Teoretycznej UJ Jeszcze o funkcjach i strukturze projektu Zak lad Chemii Teoretycznej UJ 3 grudnia 2008 1 2 3 4 5 typedef Plan typedef specyfikator typu nazwa S luży do stworzenia nowej nazwy dla jakiegoś typu. Nazwa

Bardziej szczegółowo

Programowanie współbieżne... (10) Andrzej Baran 2010/11

Programowanie współbieżne... (10) Andrzej Baran 2010/11 Programowanie współbieżne... (10) Andrzej Baran 2010/11 LINK: http://kft.umcs.lublin.pl/baran/prir/index.html Biblioteki Biblioteki podstawowe BLACS (Basic Linear Algebra Communication Subprograms) BLAS

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Informatyka, I stopień. Programowanie (PRO300.1)

Informatyka, I stopień. Programowanie (PRO300.1) Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Informatyka, I stopień Sylabus modułu: Programowanie (PRO0.1) Nazwa wariantu modułu (opcjonalnie): 1. Informacje ogólne koordynator modułu

Bardziej szczegółowo

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Spis treści 1 Wprowadzenie 1 2 Dane i kod 2 3 Wyrażenia 2 3.1 Operacje arytmetyczne i logiczne.................. 2 3.2 Podstawowe

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

C++. Leksykon kieszonkowy

C++. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOCIACH ZAMÓW CENNIK CZYTELNIA SPIS TRECI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY

Bardziej szczegółowo

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu. Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu. Uk ad graficzny CKE 2010 KOD WPISUJE ZDAJ CY PESEL EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY

Bardziej szczegółowo

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ Wyk lad niesystematyczny Zak lad Chemii Teoretycznej UJ 24 października 2008 Przeglad jezyka Gdzie szukać narzedzi i informacji? 1 Wst ep 2 3 Przeglad jezyka 4 Gdzie szukać narz Przeglad jezyka Gdzie szukać

Bardziej szczegółowo

Metody Kompilacji Wykład 1 Wstęp

Metody Kompilacji Wykład 1 Wstęp Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,

Bardziej szczegółowo

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

Programowanie Systemów Wbudowanych

Programowanie Systemów Wbudowanych Programowanie Systemów Wbudowanych Debugowanie z GDB Iwona Kochańska Gdansk University of Technology GNU debugger Identyfikacja i naprawianie błędów to część procesu wytwarzania oprogramowania Techniki

Bardziej szczegółowo

Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska

Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska Informatyka I Wyk lad I Wprowadzenie Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska pokój 331 budynek C3 email: mucha@inyo.ict.pwr.wroc.pl Zagadnienia: literatura, zawartość

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Dziekan Wydziału Nauk Społecznych i Technik Komputerowych S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko

Bardziej szczegółowo

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4 Przedmiot : Programowanie w języku wewnętrznym Ćwiczenie nr 4 str. 1. 1. Użycie Asemblera. Polecenie JMP. Polecenie nakazuje procesorowi wykonywanie kodu programu od nowego innego miejsca. Miejsce to jest

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 1: Wstęp Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Informacje o przedmiocie Języki asemblerowe i ich zastosowania

Bardziej szczegółowo

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące: Podstawy systemu Linux Linux jest systemem operacyjnym dla komputerów PC, opracowany na początku lat dziewięćdziesiątych przez Linusa Torvaldsa. Podobnie jak Unix jest on systemem wielozadaniowym - umożliwia

Bardziej szczegółowo

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski dr Dariusz Wardowski, Instytut Matematyki i Informatyki PWSZ w Płocku 1 O mnie prowadzący wykład i laboratoria: Dariusz Wardowski pokój: 102

Bardziej szczegółowo

Spis treści. Język interpretowany vs język kompilowany

Spis treści. Język interpretowany vs język kompilowany Spis treści 1 Język interpretowany vs język kompilowany 2 Program podstawowy 2.1 Pierwszy program w C++ 2.2 Pierwszy program w C 2.3 Komentarze w tekście programu 2.4 Instrukcja include 3 Szybki wstęp

Bardziej szczegółowo

Funkcja (podprogram) void

Funkcja (podprogram) void Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 26 1. Zasady Wykład i laboratorium są

Bardziej szczegółowo

Autorzy opracowania (* oznacza współautorstwo):

Autorzy opracowania (* oznacza współautorstwo): Autorzy opracowania (* oznacza współautorstwo): Andrzej Bk 1.1; 1.2; 1.3*; 1.4; 1.5; 1.6; 1.7; 1.8; 2.1; 2.2; 2.3; 2.4.1; 2.4.2; 2.4.3; 2.4.4*; 2.4.5*; 2.4.6; 2.4.7*; 2.4.8*; 2.4.9; 2.5.1; 2.5.2; 2.5.3;

Bardziej szczegółowo

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Programowanie w C++ Wykład 3 Katarzyna Grzelak 12 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Zakres ważności obiektów K.Grzelak (Wykład 1) Programowanie w C++ 2 / 35 Zakres ważności obiektów

Bardziej szczegółowo

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1 Znaczenie problematyki programowania

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Biblioteka GSL Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html

Bardziej szczegółowo

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

Lab 1. Wstęp do programowania w C. Zintegrowane środowisko programistyczne Visual Studio.

Lab 1. Wstęp do programowania w C. Zintegrowane środowisko programistyczne Visual Studio. Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 1. Wstęp do programowania w C. Zintegrowane środowisko programistyczne Visual Studio. Podstawowe pojęcia: 1. C imperatywny, strukturalny

Bardziej szczegółowo