Autotools. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

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

Download "Autotools. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska"

Transkrypt

1 Bogdan Kreczmer Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem z niniejszą stroną tytułową.

2 Niniejsza prezentacja została wykonana przy użyciu systemu składu PDFL A TEX oraz stylu beamer, którego autorem jest Till Tantau. Strona domowa projektu Beamer:

3 1 Pakiet i jego narzędzia

4 Pakiet i jego narzędzia Problemy przenośności pakietów instalacyjnych Różnice w sprzęcie: układ słowa big-endian, little-endian, rozmiar typów zmiennych np. sizeof(long int), gcc, dla Intel Core2 Duo 32, Amd Różnice w systemach operacyjnych: różne konwencje nazw, różne nazwy urządzeń. Różne kompilatory: nazwy kompilatorów, nazwy i rodzaj opcji, różne pliki nagłówkowe. występowanie lub nie występowanie makr np. M PI, różne lokalizacje zapowiedzi niektórych funkcji np. exit(). Różne wersje bibliotek

5 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> _

6 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls

7 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> _

8 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> gunzip hello tar.gz

9 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> gunzip hello tar.gz jkowalsk@comp:package> _

10 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> gunzip hello tar.gz jkowalsk@comp:package> ls hello tar jkowalsk@comp:package>

11 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> gunzip hello tar.gz jkowalsk@comp:package> ls hello tar jkowalsk@comp:package> tar -xf hello tar jkowalsk@comp:package>

12 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> gunzip hello tar.gz jkowalsk@comp:package> ls hello tar jkowalsk@comp:package> tar -xf hello tar jkowalsk@comp:package> ls

13 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> gunzip hello tar.gz jkowalsk@comp:package> ls hello tar jkowalsk@comp:package> tar -xf hello tar jkowalsk@comp:package> ls hello-3.4.1/ hello tar jkowalsk@comp:package>

14 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> _

15 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> tar -xzf hello tar.gz

16 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> tar -xzf hello tar.gz jkowalsk@comp:package> _

17 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> tar -xzf hello tar.gz jkowalsk@comp:package> ls

18 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> tar -xzf hello tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello tar.gz jkowalsk@comp:package>

19 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> tar -xzf hello tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello tar.gz jkowalsk@comp:package> cd hello-3.4.1

20 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> tar -xzf hello tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello tar.gz jkowalsk@comp:package> cd hello jkowalsk@comp:hello-3.4.1>

21 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> tar -xzf hello tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello tar.gz jkowalsk@comp:package> cd hello jkowalsk@comp:hello-3.4.1>./configure

22 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello tar.gz jkowalsk@comp:package> tar -xzf hello tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello tar.gz jkowalsk@comp:package> cd hello jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1>

23 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1>

24 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make

25 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib

26 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1>

27 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1> su Password:

28 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1> su Password: jkowalsk@comp:hello-3.4.1#

29 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1> su Password: jkowalsk@comp:hello-3.4.1# make install

30 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1> su Password: jkowalsk@comp:hello-3.4.1# make install set fnord $MAKEFLAGS; amf=$2; dot_seen=no; \ target= echo installrecursive sed s/recursive// ; \

31 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1> su Password: jkowalsk@comp:hello-3.4.1# make install set fnord $MAKEFLAGS; amf=$2; dot_seen=no; \ target= echo installrecursive sed s/recursive// ; \

32 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft

33 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1>

34 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1>

35 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1> make install

36 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1> make install set fnord $MAKEFLAGS; amf=$2; dot_seen=no; \ target= echo installrecursive sed s/recursive// ; \

37 Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello Making all in contrib jkowalsk@comp:hello-3.4.1> make install set fnord $MAKEFLAGS; amf=$2; dot_seen=no; \ target= echo installrecursive sed s/recursive// ; \

38 Przykładowe opcje skryptu configure Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --help configure configures hello to adapt to many kinds of systems. Usage:./configure [OPTION] [VAR=VALUE] To assign environment variables (e.g., CC, CFLAGS), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help --help=short --help=recursive -V, --version display this help and exit display options specific to this package display the short help of all the included packages display version information and exit

39 Przykładowe opcje skryptu configure Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --help Installation directories: --prefix=prefix install architecture-independent files in PREFIX [/usr/local] --exec-prefix=eprefix install architecture-dependent files in EPREFIX [PREFIX] By default, make install will install all the files in /usr/local/bin, /usr/local/lib etc. You can specify an installation prefix other than /usr/local using --prefix, for instance --prefix=$home. For better control, use the options below. Fine tuning of the installation directories: --bindir=dir user executables [EPREFIX/bin]

40 Podstawowe cechy pakietu autotools Pakiet i jego narzędzia jest to pakiet narzędzi, który powstał jako część projektu GNU. Podstawowym ich zadaniem jest wspieranie tworzenia przenośnych pakietów instalacyjnych dla oprogramowania tworzonego w ramach projektu GNU. Podstawowe programy z pakietu: automake, autoconf, libtool Dodatkowe narzędzia: autoconf, autoheader, autom4te, autoupdate, autodep, autoinst, autopoint, autoscan, aclocal, libtoolize

41 Podstawowe cechy pakietu autotools Pakiet i jego narzędzia jest to pakiet narzędzi, który powstał jako część projektu GNU. Podstawowym ich zadaniem jest wspieranie tworzenia przenośnych pakietów instalacyjnych dla oprogramowania tworzonego w ramach projektu GNU. Podstawowe programy z pakietu: automake, autoconf, libtool Dodatkowe narzędzia: autoconf, autoheader, autom4te, autoupdate, autodep, autoinst, autopoint, autoscan, aclocal, libtoolize

42 Podstawowe cechy pakietu autotools Pakiet i jego narzędzia jest to pakiet narzędzi, który powstał jako część projektu GNU. Podstawowym ich zadaniem jest wspieranie tworzenia przenośnych pakietów instalacyjnych dla oprogramowania tworzonego w ramach projektu GNU. Podstawowe programy z pakietu: automake, autoconf, libtool Dodatkowe narzędzia: autoconf, autoheader, autom4te, autoupdate, autodep, autoinst, autopoint, autoscan, aclocal, libtoolize

43 Autoconf czym jest Pakiet i jego narzędzia Autoconf narzędzie umożliwiające generowanie skryptów, które służą do tworzenia pakietów, ich kompilacji oraz instalacji. Narzędzie to jest niezależna od języka programowania, w którym napisany jest dany pakiet. Skrypty tworzone przez autoconf wykorzystują Bourne shell a.

44 Autoconf czym jest Pakiet i jego narzędzia Autoconf narzędzie umożliwiające generowanie skryptów, które służą do tworzenia pakietów, ich kompilacji oraz instalacji. Narzędzie to jest niezależna od języka programowania, w którym napisany jest dany pakiet. Skrypty tworzone przez autoconf wykorzystują Bourne shell a. Zalety: skrypt konfiguracyjny daje sensowne rezulaty dla systemów, które powstały później niż sam pakiet. pozwala adminstratorom na dopasowanie generowanych skryptów do specyfiki danego komputera i systemu, automatycznie sprawdza niezbędne zależności.

45 Autoconf czym jest Pakiet i jego narzędzia Autoconf narzędzie umożliwiające generowanie skryptów, które służą do tworzenia pakietów, ich kompilacji oraz instalacji. Narzędzie to jest niezależna od języka programowania, w którym napisany jest dany pakiet. Skrypty tworzone przez autoconf wykorzystują Bourne shell a. Zalety: skrypt konfiguracyjny daje sensowne rezulaty dla systemów, które powstały później niż sam pakiet. pozwala adminstratorom na dopasowanie generowanych skryptów do specyfiki danego komputera i systemu, automatycznie sprawdza niezbędne zależności. Wady: generowane skrypty są bardzo złożone, wykorzystywane makra M4 są dla wielu użytkowników niezrozumiałe.

46 Automake czym jest Pakiet i jego narzędzia Automake wykorzystywany jest do generowania plików typu Makefile. Program automake napisany jest w Perlu. W tworzonych plikach Makefile uwzględnia zależności między plikami. Mogą one być wyznaczone z wykorzystaniem narzędzi makedepend (ale nie muszą).

47 Automake czym jest Pakiet i jego narzędzia Automake wykorzystywany jest do generowania plików typu Makefile. Program automake napisany jest w Perlu. W tworzonych plikach Makefile uwzględnia zależności między plikami. Mogą one być wyznaczone z wykorzystaniem narzędzi makedepend (ale nie muszą). Generowany plik Makefile umożliwia realizację takich celów jak: clean install budowanie oprogramowania (kompilacja, konsolidacja), usuwanie produktów kompilacji, instalacja zbudowanego oprogramowania, uninstall deinstalacja oprogramowania.

48 Automake czym jest Pakiet i jego narzędzia Automake wykorzystywany jest do generowania plików typu Makefile. Program automake napisany jest w Perlu. W tworzonych plikach Makefile uwzględnia zależności między plikami. Mogą one być wyznaczone z wykorzystaniem narzędzi makedepend (ale nie muszą). Generowany plik Makefile umożliwia realizację takich celów jak: clean install budowanie oprogramowania (kompilacja, konsolidacja), usuwanie produktów kompilacji, instalacja zbudowanego oprogramowania, uninstall deinstalacja oprogramowania. Przykład wywołania z realizacją danego podcelu: make clean

49 Libtool czym jest Pakiet i jego narzędzia Libtool umożliwia tworzenie przenośnych kompilowalnych bibliotek zarówno statycznych jak też bibliotek dynamicznie konsolidowanych. Pozwala na ukrycie elementów procesu tworzenia takich bibliotek zależnych od systemu operacyjnego.

50 Libtool czym jest Pakiet i jego narzędzia Libtool umożliwia tworzenie przenośnych kompilowalnych bibliotek zarówno statycznych jak też bibliotek dynamicznie konsolidowanych. Pozwala na ukrycie elementów procesu tworzenia takich bibliotek zależnych od systemu operacyjnego. Libtoolize jest częścią pakietu Libtool. Wspomaga proces tworzenia pakietu instalacyjnego poprzez dodanie obsługi tworzenia bibliotek za pomocą libtool do pakietu instalacyjnego.

51 Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-README *-src/ *-main.cpp

52 Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-README *-src/ *- main.cpp main.cpp: #i n c l u d e <i ostream > u s i n g namespace s t d ; i n t main ( ) { cout << I n t e r p r e t e r p o l e c e n << e n d l ; }

53 Jak to wygląda Pakiet i jego narzędzia interp4rob/ *- README *-src/ *-main.cpp README: W sklad niniejszego pakietu wchodzi program interp4rob. Jedna z istotnych funkcjonalnosci tego programu jest to, ze generuje on plik core (i naprawde nie wiem dlaczego).

54 Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-README *-src/ *-main.cpp

55 Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-configure.ac *-README *-src/ *-main.cpp

56 Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-configure.ac *-README *-src/ *-main.cpp Skrypt configure.ac jest przetwarzany przez program autoconf (sta d rozszerzenie *.ac).

57 Jak to wygląda Pakiet i jego narzędzia interp4rob/ *- configure.ac *-README *-src/ *-main.cpp AC_INIT([interp4rob], [1.0], [jkowals@diablo.iiar.pwr.wroc.pl]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_LANG_CPLUSPLUS AC_PROG_CXX AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ Makefile src/makefile ]) AC_PROG_INSTALL AC_OUTPUT

58 Krótka charakterystyka Pakiet i jego narzędzia AC INIT([interp4rob], [1.0], [jkowals@diablo.iiar.pwr.wroc.pl]) AM INIT AUTOMAKE([-Wall -Werror foreign]) AC LANG CPLUSPLUS AC PROG CXX AC CONFIG HEADERS([config.h]) AC CONFIG FILES([ Makefile src/makefile ]) AC PROG INSTALL AC OUTPUT W języku skryptowym Autoconf nie ma rozróżnienia między zwykłym tekstem, a instrukcjami dla Autoconf. Pod względem składni mają one ten sam status. Jeśli chcemy, aby Autonconf nie podejmował proby interpretacji danego tekstu, jako zestawu instrukcji/makr, to musimy ten tekst odpowiedno zacytować. W tym celu należy tekst musi być ujęty w nawiasy kwadratowe.

59 Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-README *-src/ *-main.cpp

60 Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-main.cpp

61 Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *- Makefile.am *-README *-src/ *-main.cpp SUBDIRS = src dist_doc_data = README

62 Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-main.cpp

63 Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-Makefile.am *-main.cpp

64 Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *- Makefile.am *-main.cpp bin_programs = interp4rob interp4rob_sources = main.cpp

65 Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-Makefile.am *-main.cpp jkowalsk@comp:interp4rob>

66 Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-Makefile.am *-main.cpp jkowalsk@comp:interp4rob> autoreconf --install

67 Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-Makefile.am *-main.cpp jkowalsk@comp:interp4rob> autoreconf --install configure.ac:2: installing./install-sh configure.ac:2: installing./missing src/makefile.am: installing./depcomp jkowalsk@comp:interp4rob>

68 Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure *-Makefile.in *-(duzo innych plikow)... jkowalsk@comp:interp4rob>

69 Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure *-Makefile.in *-(duzo innych plikow)... jkowalsk@comp:interp4rob>./configure

70 Generowanie plików konfiguracyjnych Pakiet i jego narzędzia jkowalsk@comp:interp4rob>./configure checking for a BSD-compatible install /usr/bin/install -c checking whether build environment is sane yes checking for a thread-safe mkdir -p /bin/mkdir -p checking for gawk gawk checking whether make sets $(MAKE) yes checking for g++ g++ checking whether the C++ compiler works yes checking for C++ compiler default output file name a.out checking for suffix of executables checking whether we are cross compiling no checking for suffix of object files o checking whether we are using the GNU C++ compiler yes checking whether g++ accepts -g yes checking for style of include used by make GNU checking dependency style of g++ gcc3 configure: creating./config.status config.status: creating Makefile config.status: creating src/makefile config.status: creating config.h config.status: executing depfiles commands jkowalsk@comp:interp4rob>

71 config.h Pakiet i jego narzędzia / c o n f i g. h. G e n e r a t e d from c o n f i g. h. i n by c o n f i g u r e. / / c o n f i g. h. i n. G e n e r a t e d from c o n f i g u r e. ac by a u t o h e a d e r. / / Name o f package / #d e f i n e PACKAGE interp4rob / Define to the address where bug r e p o r t s f o r t h i s package should be sent. / #d e f i n e PACKAGE BUGREPORT j k o w a l d i a b l o. i i a r. pwr. wroc. p l / Define to the f u l l name of t h i s package. / #d e f i n e PACKAGE NAME interp4rob / D e f i n e to t h e f u l l name and v e r s i o n o f t h i s package. / #d e f i n e PACKAGE STRING interp4rob 1.0 / Define to the one symbol short name of t h i s package. / #d e f i n e PACKAGE TARNAME interp4rob / Define to the home page f o r t h i s package. / #d e f i n e PACKAGE URL / D e f i n e to t h e v e r s i o n o f t h i s package. / #d e f i n e PACKAGE VERSION 1.0 / V e r s i o n number o f package / #d e f i n e VERSION 1.0

72 Tworzenie pakietu instalacyjnego Pakiet i jego narzędzia

73 Tworzenie pakietu instalacyjnego make Pakiet i jego narzędzia

74 Tworzenie pakietu instalacyjnego make Pakiet i jego narzędzia

75 Tworzenie pakietu instalacyjnego make src/interp4rob Pakiet i jego narzędzia

76 Tworzenie pakietu instalacyjnego make src/interp4rob Interpreter polecen Pakiet i jego narzędzia

77 Tworzenie pakietu instalacyjnego make src/interp4rob Interpreter polecen make distcheck Pakiet i jego narzędzia

78 Tworzenie pakietu instalacyjnego Pakiet i jego narzędzia jkowalsk@comp:interp4rob> make jkowalsk@comp:interp4rob> src/interp4rob Interpreter polecen jkowalsk@comp:interp4rob> make distcheck ================================================ interp4rob-1.0 archives ready for distribution: interp4rob-1.0.tar.gz ================================================ jkowalsk@comp:interp4rob>

79 Koniec prezentacji Dziękuję za uwagę

Autotools. Bogdan Kreczmer.

Autotools. Bogdan Kreczmer. Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2010 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Schemat konstrukcja pliku Makefile

Schemat konstrukcja pliku Makefile Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Qt sygnały i sloty. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska

Qt sygnały i sloty. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Qt sygnały i sloty Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

Przestrzenie nazw. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Przestrzenie nazw. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania

Bardziej szczegółowo

Zasoby, pliki graficzne

Zasoby, pliki graficzne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Weryfikatory, zasoby graficzne

Weryfikatory, zasoby graficzne , zasoby graficzne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2019 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Czujniki PSD i dalmierze triangulacyjne

Czujniki PSD i dalmierze triangulacyjne Czujniki PSD i dalmierze triangulacyjne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2015 Bogdan Kreczmer

Bardziej szczegółowo

Praca z aplikacją designer

Praca z aplikacją designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2014 Bogdan Kreczmer Niniejszy dokument

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

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Zaawansowane metody programowania Copyright c 2014 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania

Bardziej szczegółowo

GStreamer. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

GStreamer. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Nazwy programów, polece, katalogów, wyniki działania wydawanych polece.

Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. !" #!"#"!" "%!&'% "& (" "!%&'()! %) *! %+,! -. -. *& +# ## Czcionka o stałej szerokoci Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. Czcionka o stałej szerokoci pogrubiona Podaje

Bardziej szczegółowo

Dalmierze optyczne. Bogdan Kreczmer. bogdan.kreczmer@pwr.wroc.pl

Dalmierze optyczne. Bogdan Kreczmer. bogdan.kreczmer@pwr.wroc.pl Dalmierze optyczne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2013 Bogdan Kreczmer

Bardziej szczegółowo

Czujniki PSD i dalmierze triangulacyjne

Czujniki PSD i dalmierze triangulacyjne Czujniki PSD i dalmierze triangulacyjne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2016 Bogdan Kreczmer

Bardziej szczegółowo

Qt sygnały i designer

Qt sygnały i designer Qt sygnały i designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan

Bardziej szczegółowo

Wprowadzenie do szablonów klas

Wprowadzenie do szablonów klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy

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

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

Powłoki systemu operacyjnego i intepretery

Powłoki systemu operacyjnego i intepretery Powłoki systemu operacyjnego i interpretery Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright

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

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj 2014 - Poznań, Polska

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj 2014 - Poznań, Polska X PIWO 17 Maj 2014 - Poznań, Polska Portowanie Tizena na nowe architektury na przykładzie ARMv6 Maciej Wereski Samsung R&D Institute Poland Plan prezentacji Środowisko budowania Tizena Infrastruktura GBS

Bardziej szczegółowo

Wprowadzenie do szablonów szablony funkcji

Wprowadzenie do szablonów szablony funkcji Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do

Bardziej szczegółowo

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX UNIWERSYTETU BIBLIOTEKA IEGO UNIWERSYTETU IEGO Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX 1. Make a new connection Open the System Preferences by going to the Apple menu

Bardziej szczegółowo

Wprowadzenie do szablonów szablony funkcji

Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Plan wykładów. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 1. Konkurs programistyczny. Literatura. Dr inż. Tomasz Olas

Plan wykładów. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 1. Konkurs programistyczny. Literatura. Dr inż. Tomasz Olas Plan wykładów Oprogramowanie i wykorzystanie stacji roboczych Dr inż. Tomasz Olas olas@icis.pcz.pl Wybrane narzędzia wspomagajace proces tworzenia oprogramowania Podstawy systemu X Window Biblioteka Qt

Bardziej szczegółowo

Automatyzacja kompilacji. Automatyzacja kompilacji 1/28

Automatyzacja kompilacji. Automatyzacja kompilacji 1/28 Automatyzacja kompilacji Automatyzacja kompilacji 1/28 Automatyzacja kompilacji 2/28 Wstęp Polecenia kompilacji gcc -Wall -c komunikat.c -o komunikat.o gcc -Wall -c main.c -o main.o gcc -Wall -c test.c

Bardziej szczegółowo

Programowanie proceduralne w języku C++ Podstawy

Programowanie proceduralne w języku C++ Podstawy Programowanie proceduralne w języku C++ Podstawy Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki

Bardziej szczegółowo

Automatyzacja kompilacji. Automatyzacja kompilacji 1/40

Automatyzacja kompilacji. Automatyzacja kompilacji 1/40 Automatyzacja kompilacji Automatyzacja kompilacji 1/40 Automatyzacja kompilacji 2/40 Wstęp Polecenia kompilacji gcc -Wall -c komunikat.c -o komunikat.o gcc -Wall -c main.c -o main.o gcc -Wall -c test.c

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

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

Administracja serwerami

Administracja serwerami 1. z YaST. Uruchom narzędzie YaST i wybierz moduł Software Software Management; Przycisk View pozwala na wybranie zakładki, ułatwiających zarządzanie programami; o Patterns - wyświetla całe dostępne oprogramowanie,

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska

Bardziej szczegółowo

Pola i metody statyczne

Pola i metody statyczne Pola i metody statyczne Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2009 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania

Bardziej szczegółowo

System backup ów Bacula

System backup ów Bacula Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska Laboratorium Administrowania Systemami Komputerowymi System backup ów Bacula ćwiczenie numer: 8 2 Spis treści

Bardziej szczegółowo

Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania

Bardziej szczegółowo

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana Wykład Materiały bazują częściowo na slajdach Marata Dukhana Języki programowania Kompilowane np. C, C++, Pascal Interpretowane np. JavaScript, PHP, Python, VBA Pośrednie np. Java, C# Znane kompilatory

Bardziej szczegółowo

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

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

Instalacja środowiska MPI w systemie operacyjnym Linux

Instalacja środowiska MPI w systemie operacyjnym Linux Instalacja środowiska MPI w systemie operacyjnym Linux Zakres ćwiczenia W tym ćwiczeniu dowiesz się, w jaki sposób dokonać instalacji środowiska MPI w systemie operacyjnym Linux. Do instalacji wybrano

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

Gdy dystrybucja Linuksa staje się niepotrzebna

Gdy dystrybucja Linuksa staje się niepotrzebna Gdy dystrybucja Linuksa staje się niepotrzebna Jarosław Messer Świerad Seweryn cochese Lipkowski Wszystko powinno być zrobione tak prosto, jak tylko to możliwe, ale nie prościej Albert Einstein 0x00. Wstęp

Bardziej szczegółowo

Geneza C++, manipulatory

Geneza C++, manipulatory Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania

Bardziej szczegółowo

Operacje wejścia/wyjścia odsłona pierwsza

Operacje wejścia/wyjścia odsłona pierwsza Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux IBM SPSS Statistics - ssentials for R: Instrukcje instalacji dla Linux Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for R w systemach operacyjnych Linux. Przegląd

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

Bardziej szczegółowo

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21 Programowanie w C++ Wykład 10 Katarzyna Grzelak 21 maja 2018 K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21 Makefiles K.Grzelak (Wykład 10) Programowanie w C++ 2 / 21 Kompilacja programu zapisanego w

Bardziej szczegółowo

Zaawansowane programowanie w (pakiecie) Delphi

Zaawansowane programowanie w (pakiecie) Delphi Zaawansowane programowanie w (pakiecie) Delphi Andrzej Marciniak Prezentacja multimedialna przygotowana za pomoc¹ systemu Corel Presentations 11 i X3 Copyright 2004-2010 by Andrzej Marciniak DEL-12(1 z

Bardziej szczegółowo

Wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Wprowadzenie. Programowanie Obiektowe Mateusz Cicheński Wprowadzenie Programowanie Obiektowe Mateusz Cicheński Paradygmaty programowania C++ Krótki przykład Kompilacja i linkowanie Makefile Przydatne flagi kompilatora Zaliczenie przedmiotu Harmonogram roku

Bardziej szczegółowo

Przesłanianie nazw, przestrzenie nazw

Przesłanianie nazw, przestrzenie nazw Przesłanianie nazw, przestrzenie nazw Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

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

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

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska OpenGL oświetlenie Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera

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 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

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie Adam Wójs git --wprowadzenie Życie programisty A) Rozwój projektu B) Naprawianie błędów C) Refaktoryzacja kodu Ekstremalny przykład Wersja jądra Lb-a programistów Lb-a linii kodu

Bardziej szczegółowo

Wyliczanie wyrażenia obiekty tymczasowe

Wyliczanie wyrażenia obiekty tymczasowe Wyliczanie wyrażenia obiekty tymczasowe Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Kompilacja image z CVS

Kompilacja image z CVS Kompilacja image z CVS Tworzenie image na Dreamboxa nie jest tajemnic, a opis czynnoci, jakie naley wykona, aby stworzy własny soft mona znale na wikszoci niemieckich stron traktujcych o Dreamboxach. Kto

Bardziej szczegółowo

Pracownia Technik Obliczeniowych

Pracownia Technik Obliczeniowych Pracownia Technik Obliczeniowych Instalowanie oprogramowania Paweł Daniluk Wydział Fizyki Wiosna 2016 P. Daniluk(Wydział Fizyki) PTO XI Wiosna 2016 1 / 16 Standardowy układ katalogów Systemy UNIXowe mają

Bardziej szczegółowo

Preprocesor języka C

Preprocesor języka C języka C Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy

Bardziej szczegółowo

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Projektowanie układów VLSI-ASIC za pomocą techniki komórek standardowych przy użyciu pakietu Cadence Programowanie,

Bardziej szczegółowo

WPROWADZENIE DO INFORMATYKI

WPROWADZENIE DO INFORMATYKI J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO INFORMATYKI PROGRAMOWANIE IMPERATYWNE ŚRODOWISKO URUCHOMIENIOWE I. INSTALACJA I KONFIGURACJA ECLIPSE CDT

Bardziej szczegółowo

Embedded GNU/Linux. Krzysztof Mazur

Embedded GNU/Linux. Krzysztof Mazur Embedded GNU/Linux Krzysztof Mazur 26 czerwca 2014 0.1 autoconf $./configure --build=build-type \ --host=host-type \ --target=target-type Forma kanoniczna: machine-os-release arm-linux-elf arm-softfloat-none-eabi

Bardziej szczegółowo

MS Visual Studio 2005 Team Suite - Performance Tool

MS Visual Studio 2005 Team Suite - Performance Tool MS Visual Studio 2005 Team Suite - Performance Tool przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A 15-351 Białystok Streszczenie: Dokument

Bardziej szczegółowo

Wstęp. Ale po co? Implementacja

Wstęp. Ale po co? Implementacja Wstęp Mechanizm sesji jest jedną z podstawowych form komunikacji pomiędzy skryptami jako jedyna tablica z super globalnych nie jest widoczna dla użytkownika. Mimo, że PHP od wersji 4 staje się coraz bardziej

Bardziej szczegółowo

Programowanie i projektowanie obiektowe

Programowanie i projektowanie obiektowe Programowanie i projektowanie obiektowe CherryPy, Genshi Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk(Wydział Fizyki) PO w. IX Jesień 2016 1 / 20 Aplikacje webowe Podejście standardowe Serwer (np.

Bardziej szczegółowo

Wprowadzenie do UML, przykład użycia kolizja

Wprowadzenie do UML, przykład użycia kolizja Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument

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

Podstawy informatyki

Podstawy informatyki Podstawy informatyki WYKŁAD nr 02 Fizyka Techniczna, WFT PP Michał Hermanowicz Zakład Fizyki Obliczeniowej, Instytut Fizyki, Politechnika Poznańska Rok akademicki 2018/2019 M. Hermanowicz (IF PP) Podstawy

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

PRE/94/2011. Instalacja i uruchomienie systemu TinyOS. Instalacja i uruchomienie systemu TinyOS. Tomasz Surmacz

PRE/94/2011. Instalacja i uruchomienie systemu TinyOS. Instalacja i uruchomienie systemu TinyOS. Tomasz Surmacz INSTYTUT INFORMATYKI, AUTOMATYKI I ROBOTYKI POLITECHNIKA WROCŁAWSKA RAPORT SERII PREPRINTY PRE/94/2011 Instalacja i uruchomienie systemu TinyOS Instalacja i uruchomienie systemu TinyOS Tomasz Surmacz Slowa

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

Wartości domyślne, przeciażenia funkcji

Wartości domyślne, przeciażenia funkcji Wartości domyślne, przeciażenia funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Wartości domyślne, przeciażenia funkcji

Wartości domyślne, przeciażenia funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Administracja serwerami

Administracja serwerami 1. Uruchomienie komputera z płyty instalacyjnej. Włącz komputer; Włóż płytę instalacyjną SUSE Linux Enterprise Server do napędu DVD; Jeśli komputer nie uruchomił się z płyty, zresetuj komputer wciskając

Bardziej szczegółowo

Zarządzanie pakietami Linuks.

Zarządzanie pakietami Linuks. Wydział Matematyki i Informatyki, Uniwersytet im. Adama Mickiewicza Administracja Serwerami Sieciowymi Linuks Makefile Zasady działania make: plik Makefile Struktura cel: składniki komendy Standardowe

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

MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca 2011. Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16

MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca 2011. Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16 MMX i SSE Zbigniew Koza Wydział Fizyki i Astronomii Uniwersytet Wrocławski Wrocław, 10 marca 2011 Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16 Spis treści Spis treści 1 Wstęp Zbigniew Koza (WFiA UWr) MMX

Bardziej szczegółowo

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Szymon Klimuk Nr albumu: 187408 Praca magisterska na kierunku Informatyka Monitorowanie

Bardziej szczegółowo

INFORMATOR TECHNICZNY WONDERWARE

INFORMATOR TECHNICZNY WONDERWARE Informator techniczny nr 153 25-03-2015 INFORMATOR TECHNICZNY WONDERWARE Instalacja oprogramowania Wonderware Historian 2014 R2 UWAGA! Przygotowując system operacyjny Windows na potrzeby oprogramowania

Bardziej szczegółowo

Wprowadzenie do narzędzia MAVEN

Wprowadzenie do narzędzia MAVEN Wprowadzenie do narzędzia MAVEN Mateusz Miotk 27 luty 2017 Instytut Informatyki UG 1 Maven - co to? Maven to narzędzie do budowania kodu. Umożliwia on zarządzanie kodem, który obejmuje zbiór standardów,

Bardziej szczegółowo

Technologie Komponentowe. Piotr Łukasik p /

Technologie Komponentowe. Piotr Łukasik p / Technologie Komponentowe Piotr Łukasik p. 373 email: plukasik@agh.edu.pl / lukasik.pio@gmail.com www.lukasikpiotr.com Warunki uzyskania zaliczenia Ocena końcowa z ćwiczeń posiada następujące składowe:

Bardziej szczegółowo

Twitter Status. plugin dla Joomla! 1.5. wersja 1.1

Twitter Status. plugin dla Joomla! 1.5. wersja 1.1 Twitter Status plugin dla Joomla! 1.5 wersja 1.1 Autor: Tomasz Dobrzyński Data: 26/12/2007 1 Spis treści Licencja... 3 Czym jest Twitter?...3 Opis wtyczki... 3 Jak to dział a?... 3 Instalacja i Konfiguracja...4

Bardziej szczegółowo

Volcano MC-GM4 OPTICAL MOUSE USER S MANUAL MODECOM

Volcano MC-GM4 OPTICAL MOUSE USER S MANUAL MODECOM Volcano MC-GM4 OPTICAL MOUSE USER S MANUAL MODECOM Volcano MC-GM4 OPTICAL MOUSE PL Wymagania systemowe Komputer zgodny z systemem operacyjnym Windows Port USB Zawartość opakowania Myszka instrukcja obsługi

Bardziej szczegółowo

Podstawowy warsztat informatyka

Podstawowy warsztat informatyka Podstawowy warsztat informatyka Jakub Michaliszyn Instytut Informatyki Uniwersytetu Wrocławskiego Wykład 8 Ogłoszenia Lista 12 - dzisiaj termin! Jakub Michaliszyn (II UWr) PWI 2 / 16 Ogłoszenia Lista 12

Bardziej szczegółowo

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017 Wykład 7 25 kwietnia 2017 Dokumentowanie kodu Program javadoc Java jest wyposażona w generator dokumentacji który na podstawie odpowiednio napisanych komentarzy w kodzie programu (które jednak nie sa konieczne),

Bardziej szczegółowo

Volcano MC-GMX4 OPTICAL MOUSE USER S MANUAL MODECOM

Volcano MC-GMX4 OPTICAL MOUSE USER S MANUAL MODECOM Volcano MC-GMX4 OPTICAL MOUSE USER S MANUAL MODECOM Volcano MC-GMX4 OPTICAL MOUSE Wymagania systemowe Komputer zgodny z systemem operacyjnym Windows Port USB Zawartość opakowania Myszka instrukcja obsługi

Bardziej szczegółowo

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy

Bardziej szczegółowo

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:

Bardziej szczegółowo

Szablon klasy std::vector

Szablon klasy std::vector Szablon klasy std::vector Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat

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

Projekt i uruchomienie prostego serwera OPC UA w oparciu o oprogramowanie szkieletowe Quasar opracowane w CERN

Projekt i uruchomienie prostego serwera OPC UA w oparciu o oprogramowanie szkieletowe Quasar opracowane w CERN Mateusz Kołodziejczyk (PB, UwB) Projekt i uruchomienie prostego serwera OPC UA w oparciu o oprogramowanie szkieletowe Quasar opracowane w CERN Julian Sacharczuk (UR) Opiekunowie: mgr inż. Jolanta Olszowska

Bardziej szczegółowo

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0  Zofia Kruczkiewicz Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 http://www.junit.org/ Zofia Kruczkiewicz 1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną

Bardziej szczegółowo

X11R5. .Xresources. Pliki konfiguracyjne X-Windows. Zasada działania X11. .xinitrc. X protocol X server. X client. X library

X11R5. .Xresources. Pliki konfiguracyjne X-Windows. Zasada działania X11. .xinitrc. X protocol X server. X client. X library Pliki konguracyjne X-Windows.Xresources X11 -.Xresources,.xinitrc,.xsession OpenWindows -.Xdefaults,.desksetdefaults,.openwin-init,.openwin-menu XTerm*tek4014*fontLarge: 9x15 XTerm*tek4014*font2: 8x13

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE O CZYM PREZENTACJA? Code::Blocks Informacje wstępne Skąd ściągnąć? Jak zainstalować? (wersja linuksowa) Rzut okiem na panel główny Tworzenie naszego pierwszego

Bardziej szczegółowo