Automatyzacja kompilacji. Automatyzacja kompilacji 1/40
|
|
- Sylwia Skiba
- 6 lat temu
- Przeglądów:
Transkrypt
1 Automatyzacja kompilacji Automatyzacja kompilacji 1/40
2 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 -o test.o gcc -lm komunikat.o main.o test.o -o program
3 Automatyzacja kompilacji 3/40 Polecenia kompilacji Prosta automatyzacja for f in *.c; do gcc -Wall -c $f -o ${f%c}o done gcc -lm *.o -o program
4 Automatyzacja kompilacji 4/40 Pierwszy makefile Reguła: cel: zależności polecenie gdzie cel nazwa pliku, który ma powstać z tej reguły zależności lista plików, od których zależy cel, tzn. zmiana któregokolwiek z tych plików oznacza, że cel też się zmieni, polecenie jest to polecenie, za pomocą którego ma zostać wytworzony cel.
5 Automatyzacja kompilacji 5/40 Pierwszy makefile Przykładowa reguła: komunikat.o: komunikat.c komunikat.h gcc -Wall -c komunikat.c -o komunikat.o Zależności gcc -MM plik.c
6 Automatyzacja kompilacji 6/40 Pierwszy makefile Przykładowy makefile program: komunikat.o main.o test.o gcc -lm komunikat.o main.o test.o -o program komunikat.o: komunikat.c komunikat.h gcc -Wall -c komunikat.c -o komunikat.o main.o: main.c test.h gcc -Wall -c main.c -o main.o test.o: test.c test.h komunikat.h gcc -Wall -c test.c -o test.o
7 Automatyzacja kompilacji 7/40 Wykorzystanie makefile Wywołanie Jeśli plik z regułami nazywa się Makefile $ make gcc -Wall -c komunikat.c -o komunikat.o gcc -Wall -c main.c -o main.o gcc -Wall -c test.c -o test.o gcc -lm komunikat.o main.o test.o -o program W innym przypadku $ make -f nazwa_pliku
8 Automatyzacja kompilacji 8/40 Reguły jak polecenia program: komunikat.o main.o test.o gcc -lm komunikat.o main.o test.o -o program komunikat.o: komunikat.c komunikat.h gcc -Wall -c komunikat.c -o komunikat.o main.o: main.c test.h gcc -Wall -c main.c -o main.o test.o: test.c test.h komunikat.h gcc -Wall -c test.c -o test.o clean: rm -f program komunikat.o main.o test.o
9 Automatyzacja kompilacji 9/40 Reguły jak polecenia program: komunikat.o main.o test.o gcc -lm komunikat.o main.o test.o -o program komunikat.o: komunikat.c komunikat.h gcc -Wall -c komunikat.c -o komunikat.o main.o: main.c test.h gcc -Wall -c main.c -o main.o test.o: test.c test.h komunikat.h gcc -Wall -c test.c -o test.o.phony: clean clean: rm -f program komunikat.o main.o test.o
10 Automatyzacja kompilacji 10/40 Zmienne i funkcje Zmienne objects=komunikat.o main.o test.o program: $(objects) gcc -lm $(objects) -o program komunikat.o: komunikat.c komunikat.h gcc -Wall -c komunikat.c -o komunikat.o main.o: main.c test.h gcc -Wall -c main.c -o main.o test.o: test.c test.h komunikat.h gcc -Wall -c test.c -o test.o.phony: clean clean: rm -f program $(objects)
11 Automatyzacja kompilacji 11/40 Zmienne i funkcje Wbudowane funkcje sources=komunikat.c main.c test.c objects=$(patsubst %.c,%.o,$(sources)) $(patsubst wz_wejściowy,wz_wynikowy,lista_wyrazów) objects=$(sources:.c=.o) sources=$(wildcard *.c)
12 Automatyzacja kompilacji 12/40 Zmienne automatyczne nazwa pliku docelowego $< nazwa pierwszego pliku pełniącego funkcję wymagania wstępnego w danej regule $^ nazwy wszystkich plików pełniących funkcje wymagań wstępnych, bez powtórzeń $+ nazwy wszystkich plików pełniących funkcje wymagań wstępnych, z powtórzeniami $? nazwy plików pełniących funkcje wymagań wstępnych, nowszych od pliku docelowego $* w przypadku reguły przyrostkowej nazwa pliku docelowego, bez rozszerzenia
13 Automatyzacja kompilacji 13/40 Zmienne automatyczne wykorzystanie sources=komunikat.c main.c test.c objects=$(sources:.c=.o) program: $(objects) gcc -lm $^ -o komunikat.o: komunikat.c komunikat.h gcc -Wall -c $< -o main.o: main.c test.h gcc -Wall -c $< -o test.o: test.c test.h komunikat.h gcc -Wall -c $< -o clean clean: rm -f program $(objects)
14 Automatyzacja kompilacji 14/40 Reguły wzorców Deklarowanie reguły wzorca %.o: %.c gcc -Wall -c $< -o Reguła przyrostkowa.suffixes=.cxx.cxx.o: g++ -Wall -c $< -o
15 Automatyzacja kompilacji 15/40 Przykład użycia reguły wzorca sources=komunikat.c main.c test.c objects=$(sources:.c=.o) program: $(objects) gcc -lm $^ -o komunikat.o: komunikat.c komunikat.h main.o: main.c test.h test.o: test.c test.h komunikat.h %.o: %.c gcc -Wall -c $< -o clean clean: rm -f program $(objects)
16 Automatyzacja kompilacji 16/40 Użycie wbudowanych reguł wzorców sources=komunikat.c main.c test.c objects=$(sources:.c=.o) program: $(objects) gcc -lm $^ -o komunikat.o: komunikat.c komunikat.h main.o: main.c test.h test.o: test.c test.h komunikat.h.phony: clean clean: rm -f program $(objects)
17 Automatyzacja kompilacji 17/40 Wbudowane reguły Poprzednio wykorzystano regułę %.o: %.c $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $< Można ją modyfikować definiując zmienne CC=gcc CFLAGS=-Wall
18 Automatyzacja kompilacji 18/40 Typowe zmienne wykorzystywane w regułach niejawnych Zmienna Wartość domyślna Opis CC gcc Kompilator języka C CXX g++ Kompilator języka C++ CFLAGS pusta Flagi przekazywane do kompilatora C CXXFLAGS pusta Flagi przekazywane do kompilatora C++ CPPFLAGS pusta Flagi przekazywane do preprocesora C
19 Automatyzacja kompilacji 19/40 Domyślne reguły przyrostkowe Język Rozszerzenia Polecenie C.c $(CC) -c $(CPPFLAGS) $(CFLAGS) C++.cpp,.cc,.C $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) Asembler.s $(AS) $(ASLAGS) Asembler.S $(CPP) $(CPPLAGS) Pascal.p $(PC) -c $(PFLAGS) Fortran.f $(FC) -c $(FFLAGS) Fortran.F $(FC) -c $(FFLAGS) &(CPPFLAGS)
20 Automatyzacja kompilacji 20/40 Konstrukcje warunkowe Konstrukcja ifeq ifneq ifdef ifndef Znaczenie Sprawdza, czy dwie wartości są sobie równe Sprawdza, czy dwie wartości są od siebie różne Sprawdza, czy zdefiniowano daną zmienną Sprawdza, czy nie zdefiniowano danej zmiennej
21 Automatyzacja kompilacji 21/40 Konstrukcje warunkowe Przykład konstrukcji if ifeq ($(shell uname -o), "GNU/Linux") CPPFLAGS += -DLINUX else CPPFLAGS += -DOS_UNKNOWN endif
22 Automatyzacja kompilacji 22/40 Konstrukcje warunkowe Testowanie definicji zmiennych ifdef debug CFLAGS += -g else CFLAGS += -O2 endif Wywołanie $ make debug=1
23 Automatyzacja kompilacji 23/40 Narzędzia alternatywne do make SCons ant nm imake CMake
24 Automatyzacja kompilacji 24/40 Narzędzie CMake Właściwości CMake: Jest wieloplatformowe Wspiera natywny sposób budowy oprogramowania: Linux makefile Windows VSProject Apple XCode Jest darmowe, o otwartym kodzie
25 Automatyzacja kompilacji 25/40 Narzędzie CMake Dalsza charakterystyka : Wykorzystywane w dużych projektach (np. KDE4, VTK) Wsparcie dla makr Moduły do automatycznego wyszukiwania/konfigurowania oprogramowania Własne cele kompilacji lub komendy Uruchamianie zewnętrznych programów Prosta składnia Wsparcie dla wyrażeń regularnych Wsparcie dla budowy In-source oraz Out-of-source
26 Automatyzacja kompilacji 26/40 Działanie CMake Rysunek : Sposób działania CMake
27 Automatyzacja kompilacji 27/40 Podstawowe pojęcia CMake CmakeLists.txt Plik tekstowy opisujący parametry projektu oraz opisujący przebieg budowy projektu napisany w prostym języku CMake. Moduły CMake Specjalne pliki CMake napisane z przeznaczeniem znajdowania specyficznych plików wymaganych przez projekt, np. biblioteki, czy pliki nagłówkowe. Powstały po to, aby wykorzystywać je w wielu projektach. Przykłady: FindJava.cmake, FindZLIB.cmake, FindQt4.cmake.
28 Automatyzacja kompilacji 28/40 Podstawowe pojęcia CMake Source Tree zawiera: pliki wejściowe CMake (CmakeLists.txt) pliki źródłowe projektu (hello.cpp) pliki nagłówkowe projektu (hello.h) Binary Tree zawiera: natywne pliki budowy projektu (makefiles) efekty procesu budowy: biblioteki, pliki wykonywalne i inne Source Tree i Binary Tree: mogą być w jednym katalogu nadrzędnym (In-source) mogą być w różnych katalogach nadrzędnych (Out-of-source)
29 Automatyzacja kompilacji 29/40 Podstawowe pojęcia CMake CMAKE MODULE PATH Ścieżka do modułów CMake CMAKE INSTALL PREFIX Ścieżka do umiejscowienia plików po wywołaniu make install CMAKE BUILD TYPE Typ budowy (Debug, Release,...) BUILD SHARED LIBS Przełącznik pomiędzy bibliotekami współdzielonymi i statycznymi Zmienne moga być definiowane w pliku CmakeLists.txt lub jako argument polecenia cmake, np.: cmake -DBUILD SHARED LIBS=OFF lub przez GUI: ccmake
30 Automatyzacja kompilacji 30/40 CMake cache Utrzymywany w Build Tree (CMakeCache.txt) zawiera wpisy typy VAR:TYPE=VALUE zapełniany/aktualizowany podczas fazy konfiguracji przyspiesza proces budowy może być zainicjalizowany poleceniem cmake -C <plik> z reguły nie ma potrzeby ręcznej edycji można zmieniać wartości z poziomu GUI
31 Struktura plików Source Tree Automatyzacja kompilacji 31/40
32 Automatyzacja kompilacji 32/40 Użycie CMake utworzenie katalogu budowy projektu mkdir build; cd build konfiguracja cmake [opcje] <source tree> budowa make instalacja make install
33 Automatyzacja kompilacji 33/40 Hello World w CMake Katalog projektu CMakeLists.txt podkatalog Hello: CMakeLists.txt hello.h hello.cc podkatalog Test: CMakeLists.txt test.cc
34 Automatyzacja kompilacji 34/40 Hello World w CMake # CmakeLists.txt z katalogu głównego PROJECT( HELLO ) ADD_SUBDIRECTORY( Hello ) ADD_SUBDIRECTORY( Test ) # CmakeLists.txt z katalogu Hello # Dodaje bibliotekę o nazwie Hello (libhello.a # pod Linuksem) na podstawie pliku źródłowego hello.cc ADD_LIBRARY( Hello hello )
35 Automatyzacja kompilacji 35/40 Hello World w CMake # CmakeLists.txt z katalogu Test # Upenienie się, że kompilator znajdzie pliki # nagłówkowe z katalogu Hello INCLUDE_DIRECTORIES(${HELLO_SOURCE_DIR}/Hello) # Dodanie pliku wykonywalnego "helloworld", # który tworzony jest na podstawie pliku # źródłowego "test.cc". Odpowiednia końcówka # jest dodawana automatycznie. ADD_EXECUTABLE(helloWorld test) # Linkowanie biblioteki Hello z plikiem wykonywalnym TARGET_LINK_LIBRARIES(helloWorld Hello)
36 Automatyzacja kompilacji 36/40 Składnia plików CmakeLists.txt Komentarz: # to jest komentarz wywołanie polecenia: COMMAND(arg1 arg2...) listy wartości: A; B; C zmienne ${VAR} instrukcje warunkowe: IF()... ELSE()/ELSEIF()... ENDIF() WHILE()... ENDWHILE() FOREACH()... ENDFOREACH() wyrażenia regularne
37 Automatyzacja kompilacji 37/40 Składnia plików CmakeLists.txt Polecenia: INCLUDE DIRECTORIES( dir1 dir2... ) AUX SOURCE DIRECTORY( source ) ADD EXECUTABLE ADD LIBRARY ADD CUSTOM TARGET ADD DEPENDENCIES( target1 t2 t3 ) ADD DEFINITIONS( -Wall -ansi -pedantic ) TARGET LINK LIBRARIES( target-name lib1 lib2...)
38 Automatyzacja kompilacji 38/40 Składnia plików CmakeLists.txt Polecenia, cd.: SET TARGET PROPERTIES(... ) przykładowe właściwości: OUTPUT NAME, VERSION,... MESSAGE( STATUS, FATAL ERROR,... message ) INSTALL( FILES f1 f2 f3 DESTINATION. ) FIND FILE FIND LIBRARY
39 Automatyzacja kompilacji 39/40 Podsumowanie CMake Zawartość pliku CMakeLists.txt PROJECT(MyProject C) ADD_LIBRARY(MyLibrary STATIC libsource.c) ADD_EXECUTABLE(MyProgram main.c) TARGET_LINK_LIBRARIES(MyProgram MyLibrary) Użycie programu CMake $ cmake sciezka_do_zrodel $ make
40 Automatyzacja kompilacji 40/40 W wykładzie wykorzystano materiały J. Fusco, Linux. Niezbędnik programisty, Helion, 2009 Środowisko programisty, index.php/%c5%9arodowisko_programisty talks/cmake_tutorial.pdf
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
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
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
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
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
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
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
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
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
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
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ą
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
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
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...)
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:
Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.
Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using
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
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
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
Zbuduj mi ten projekt, prosz.
Zbuduj mi ten projekt, prosz. Wprowadzenie do damian.bulira@pwr.wroc.pl IX Sesja Linuksowa 21 kwietnia 2012 Table of contents 1 Software Conguration Management Historia Inne narz dzia 2 Czym jest? Do czego
Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym
Laboratorium 1 I. Zainstaluj program Eclipse (wersja C/C++ http://www.eclipse.org/downloads/) w odpowiednim systemie operacyjnym II. Zainstaluj narzędzia Windows CDT (w Eclipse jako software site dodajemy
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:
Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch
INFORMATOR TECHNICZNY WONDERWARE Informator Techniczny nr 60 04-12-2002 Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch Wstęp PoniŜsza dokumentacja oparta na przykładach stworzonych
SFML. (Simple and Fast Multimedia Library)
SFML (Simple and Fast Multimedia Library) I Przygotowanie do tworzenia programów z użyciem biblioteki SFML w środowisku Code::Blocks.... 2 II Struktura programu... 3 III Obiekty graficzne... 3 1. Podstawowe
1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
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
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
#line #endif #ifndef #pragma
8.1 Instrukcje preprocesorowe... 1 8.1.1 Instrukcja #define... 1 8.1.2 Instrukcje #pragma... 2 8.2 Polecenie _asm... 3 8.3 Polecenie declspec... 4 8.4 Definiowanie makr... 5 8.5 Programy wieloplikowe,
MentorGraphics ModelSim
MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu
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
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
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
Piotr Dwieczkowski. Code coverage. Mierzenie pokrycia kodu, teoria oraz praktyka w C/C++
Piotr Dwieczkowski Code coverage Mierzenie pokrycia kodu, teoria oraz praktyka w C/C++ Plan Co to jest pokrycie kodu? Możliwe sposoby wykorzystania Rodzaje statystyk Wady i zalety mierzenia porycia kodu
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ęć)
Uruchomienie Raspberry Pi
Imie i nazwisko Nr indeksu Liczba punktów: Ramki oznaczone kolorem żółtym należy uzupełnić odpowiednią informacją! Po zakończeniu ćwiczenia niniejszą formatkę należy wysłać na adres: iwona.kochanska@eti.pg.gda.pl
Podstawy Programowania.
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png O mnie... dr inż. Łukasz Graczykowski Zakład Fizyki Jądrowej Wydział Fizyki Politechniki Warszawskiej lgraczyk@if.pw.edu.pl www.if.pw.edu.pl/~lgraczyk/wiki
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ę
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
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
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
Poprzedni wykład [ ] :
Poprzedni wykład [ 20.11.2018 ] : - Funkcje w języku C (definicje i prototypy) - Struktura programu: Zmienne zewnętrzne, zasięg nazw; programy wieloplikowe (wprowadzenie) - Klasy pamięci: static, register
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
Ćwiczenie 1. Przygotowanie środowiska JAVA
Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.
Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Trochę o plikach wsadowych (Windows)
Trochę o plikach wsadowych (Windows) Zmienne środowiskowe Zmienną środowiskową można ustawić na stałe w systemie (Panel sterowania->system- >Zaawansowane ustawienia systemu->zmienne środowiskowe) lub też
Wprowadzenie do biblioteki klas C++
Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski
Język Python (2) Język Python (2) 1/36
Język Python (2) Język Python (2) 1/36 Język Python (2) 2/36 Podstawy funkcji Pojęcia podstawowe Instrukcja def tworzy obiekt funkcji i przypisuje go do nazwy Instrukcja return przekazuje obiekt wynikowy
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.
Podstawy Programowania
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke O mnie... dr inż. Małgorzata Janik Zakład Fizyki
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
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
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
Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE
Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE opis układu w Verilog, kompilacja i symulacja
Rozdział 1. Informacje ogólne
Rozdział 1. Informacje ogólne 1.1. Wprowadzenie Dokument ten opisuje jak zainstalować OMNeT++ na platformie Windows. Poszczególne rozdziały i podrozdziały poświęcone są instalacji, konfiguracji, kompilacji
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
TOPIT Załącznik nr 3 Programowanie aplikacji internetowych
Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć
Informatyka I : Tworzenie projektu
Tworzenie nowego projektu w programie Microsoft Visual Studio 2013 Instrukcja opisuje w jaki sposób stworzyć projekt wykorzystujący bibliotekę winbgi2 w programie Microsoft Visual Studio 2013. 1. Otwórz
Języki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Klasy pamięci, programy wielomodułowe Deklaracje zmiennych
Java Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
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
BIOWEB INSTRUKCJA URUCHOMIENIA W IDE ECLIPSE RATIONAL SOFTWARE ARCHITECT
BIOWEB INSTRUKCJA URUCHOMIENIA W IDE ECLIPSE RATIONAL SOFTWARE ARCHITECT 1. Jeśli nie istnieje zainstalowana na systemie Windows Java JDK, należy pobrać i zainstalować. Link do strony: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe
Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Uruchomienie Intel Galileo
Imie i nazwisko Nr indeksu Liczba punktów: Ramki oznaczone kolorem żółtym należy uzupełnić odpowiednią informacją! Po zakończeniu ćwiczenia niniejszą formatkę należy wysłać na adres: iwona.kochanska@eti.pg.gda.pl
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
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
media Blitz wydajne sytemy szablonów
Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki
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ć
Delphi podstawy programowania. Środowisko Delphi
Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Etapy kompilacji. Wykład 7. Przetwarzanie wstępne, str. 1. #define ILE for(i=0; i<ile; i++)...
Etapy kompilacji Wykład 7 Przetwarzanie wstępne, str 1 #define ILE 100 for(i=0; i
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Zapoznanie studentów z środowiskiem pracy wykorzystywanych w nim programach C2. Nabycie przez studentów praktycznych umiejętności
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko
Jądro Linuksa dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Jądro Linuksa Program wykładu: Właściwości jądra Linuksa. Pliki źródłowe jądra. Konfiguracja jądra. Kompilacja i kompilacja skrośna
Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.
Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego. Czas realizacji zajęć: 135 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Zmienne śrowiskowe oraz ich eksportowanie, argumenty
1.Wstęp. 2.Generowanie systemu w EDK
1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).
Lifehacking dla R. Przemyślenia i rozwiązania w temacie reprodukowalności analiz i organizacji pracy
Przemyślenia i rozwiązania w temacie reprodukowalności analiz i organizacji pracy Michał Bojanowski m.bojanowski@uw.edu.pl www.bojanorama.pl ICM, Uniwersytet Warszawski Spotkania Entuzjastów R 27 luty,
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ąć
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
Bardzo krótki kurs Perla
Bardzo krótki kurs Perla... i trochę trobiazgów, między innymi make urs systemu Unix 1 Perl Practical Extraction and Report Language Opracowany w 1986 (Larry Wall) Następca (?) AWK i sed, poprzednik (?)
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
Pracownia specjalistyczna. Materiały przygotowali: mgr inż. Wojciech Frohmberg, mgr inż. Michał Kierzynka
Pracownia specjalistyczna Materiały przygotowali: mgr inż. Wojciech Frohmberg, mgr inż. Michał Kierzynka Obiektowość na przykładzie języka C++ Paradygmat funkcyjny Zorientowanie Na algorytmy Na dane Algorytm
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
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
#!/bin/sh. if [ "$#"!= "1" ]; then echo "Skrypt uruchamiany z parametrem (sciezka do katalogu)" exit 1 fi
Skrypt nr 1 Zmiana nazw wszystkich plików w zadanym katalogu (parametr wywołania skryptu), do których mamy ustawione prawo zapisu, przez dopisanie dodatkowego członu.old. Wcześniej należy skasować wszystkie
Programowanie Komputerów 2FD. Materiały pomocnicze do laboratorium
Programowanie Komputerów 2FD Materiały pomocnicze do laboratorium 2 Spis treści ZAJĘCIA 1. WPROWADZENIE... 4 1. ZAPOZNANIE SIĘ ZE ŚRODOWISKIEM PRACY... 4 Praca w sieci lokalnej... 4 Sposób logowania...
Zaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest
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
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
Język C - podstawowe informacje
Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły
Pobieranie edytora CodeLite
Pobieranie edytora CodeLite Wejdź na stronę http://codelite.org/ a następnie przejść do ekranu pobierania (bez wykonywania dobrowolnej wpłaty). Kliknij na zakładkę Download a następnie No thanks, just
ANALIZA DANYCH SHOWERA. Narzędzia na wiązkę dla Shower Operatora
ANALIZA DANYCH SHOWERA Narzędzia na wiązkę dla Shower Operatora POZIOMY DANYCH HShowerRaw Odczyt z ADC wraz z umiejscowieniem w detektorze HShowerCal Dane przekalibrowane HShowerHit Trafienia cząstek w
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
1 Zapoznanie się ze środowiskiem Xenomai.
1 Zapoznanie się ze środowiskiem Xenomai. Wszystkie ćwiczenia oraz programy opracowane zostały w Xenomai w wersji 2.5.6. Dlatego też odwołania do dokumentacji dotyczą dokumentu pod adresem: http://www.xenomai.org/documentation/xenomai-2.5/html/api/
Programowanie I C / C++ laboratorium 01 Organizacja zajęć
Programowanie I C / C++ laboratorium 01 Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-12 Program zajęć Zasady zaliczenia Program operacje wejścia i wyjścia instrukcje
JAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty
MeetingHelper Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania Instrukcja obsługi dla programisty W tej części został zawarty opis uruchamiania projektu programistycznego,