#line #endif #ifndef #pragma
|
|
- Bogdan Jakub Skrzypczak
- 6 lat temu
- Przeglądów:
Transkrypt
1 8.1 Instrukcje preprocesorowe Instrukcja #define Instrukcje #pragma Polecenie _asm Polecenie declspec Definiowanie makr Programy wieloplikowe, instrukcja #include Instrukcje preprocesorowe Instrukcje dla preprocesora (instrukcje preprocesorowe) zaczynają się od znaku #. Instrukcje wykonywane są przez preprocesor, przed etapem kompilacji. Lista instrukcji preprocesorowych. #define #error #import #undef #elif #if #include #using #else #ifdef #line #endif #ifndef #pragma Instrukcja #define Składnia: #define identyfikator token-string Preprocesor w kaŝdym miejscu występowania w programie stringu identyfikator zamieni go na string tokenstring. Przykład 1. Instrukcje #define, #ifdef, #else, #endif, #undef (w09-01-define-undef.cpp). #define PI 3.14 #ifdef PI cout << "PI = " << PI << endl; #else cout << "Liczba PI nie jest zdefiniowana \n"; #define PI #endif //PI #ifndef LiczbaE cout << "LiczbaE nie jest zdefiniowana \n"; #define LiczbaE 2.71 #else cout << "LiczbaE jest zdefiniowana \n"; cout<<"liczbae = " << LiczbaE <<endl; #endif //LiczbaE cout << "LiczbaE = " << LiczbaE << endl; #undef PI // cout << "PI= "<< PI << endl; 1
2 Przykład 2. Instrukcje #define, #ifndef, #endif (w09-02-ifndef-define.cpp). // void funkcja() cout << "*** funkcja() *** " << endl; #ifndef _funkcja_ #define _funkcja_ void funkcja() cout << "*** funkcja() *** " << endl; #endif #ifndef _funkcja_ #define _funkcja_ void funkcja() cout << "*** funkcja() *** " << endl; #endif // void funkcja() cout << "*** funkcja() *** " << endl; funkcja(); Instrukcje #pragma Instrukcje #pragma określają parametry specyficzne dla sprzętu (hardware), systemu operacyjnego i samego kompilatora. Lista instrukcji #pragma. alloc_text auto_inline bss_seg check_stack code_seg comment component conform1 const_seg data_seg deprecated fenv_access float_control fp_contract function hdrstop include_alias init_seg1 inline_depth inline_recursion intrinsic make_public managed message omp once optimize pack pointers_to_members1 pop_macro push_macro region, endregion runtime_checks section setlocale strict_gs_check unmanaged vtordisp1 warning 2
3 Przykład 1. UŜycie instrukcji #pragma warning (w09-03-pragma-warning-disable.cpp) #pragma warning( disable : 4101) int x; // zmienna nie jest zainicjowana 8.2 Polecenie _asm Słowo kluczowe _asm pozwala zagnieŝdŝać w kodzie C/C++ kod napisany w assemblerze. Przykład 1. Implementacja funkcji w assemblerze (w09-04-asm.cpp). // Nie pojawi się komunikat: 'warning C4035: no return value' // #pragma warning( disable : 4035) int XRazy_DwaDoPotegiY( int X, int Y); cout << "3 razy (2 do potegi 4) = " << XRazy_DwaDoPotegiY( 3, 4) << endl; int XRazy_DwaDoPotegiY( int mnoznik, int wykladnik ) asm mov eax, mnoznik mov ecx, wykladnik shl eax, cl // Opis: // mov eax, mnoznik ; pobranie wartosci mnoznika // mov ecx, wykladnik ; pobranie wykladnika potegi // shl eax, cl ; EAX = EAX * ( 2 do potegi CL ) 3
4 8.3 Polecenie declspec Polecenie declspec określa, Ŝe dany typ danych jest przechowywany jako specyficzny atrybut klasy Microsoft (Microsoft-specific storage-class), tzn. typ określony za pomocą specyficznych dla Microsoft modyfikatorów. Przykładami specyficznych atrybutów Microsoft są dllexport, dllimport, naked, noalias, nothrow, property, restrict, selectany, thread, uuid. Przykładem specyficznych atrybutów klasy w standardzie ANSI C/C++, są typy danych z modyfikatorami static i extern. Przykład 1. Program z biblioteką dynamiczną (w09-05-dll-ka.zip). 1. Utworzyć projekt win32 Console Application, nazwa: dodaj-> wybrać opcje: pusty projekt. 2. Dodać do projektu plik dodaj.cpp 3. W opcjach konfiguracyjnych projektu, w polu Configuration type wybrać: Dynamic library (.dll). Plik dodaj.cpp declspec(dllexport) int Dodaj(long x, long y,long *z) *z=x+y; return 0; 4. Skompilować projekt dodaj. 5. Utworzyć projekt win32 Console Application, nazwa: dodajtest-> wybrać opcje: pusty projekt. 6. Dodać do projektu pliki dodajtest.cpp, dodajtest.h 7. Wkopiować do katalogu projektu dodajtest plik dodaj.lib utworzony w projekcie dodaj. 8. W opcjach konfiguracyjnych projektu dodajtest, wybrać Linker -> Input-> w polu Additional Dependecies dopisać: dodaj.lib. Plik dodajtest.h #ifndef Dodaj_h #define Dodaj_h declspec(dllimport) int Dodaj(long x,long y, long *z); #endif Dodaj_h // Dodaj_h 4
5 Plik dodajtest.cpp #include "dodajtest.h" long x,y,z; cout << "Wpisz pierwszy skladnik: "; cin >> x; cout << endl; cout << "Wpisz drugi skladnik: "; cin >> y; cout<<"\n Wywolanie funkcji Dodaj()" << endl <<endl; Dodaj(x,y,&z); cout<<"suma wpisanych liczb = "<< z << endl; 9. Skompilować projekt dodajtest. 10. Wkopiować do katalogu projektu dodajtest (tam gdzie znajduje się plik dodajtest.exe) plik dodaj.dll utworzony w projekcie dodaj. 11. Uruchomić aplikacje dodajtest. 8.4 Definiowanie makr Przykład 1. Instrukcja #define (w09-06-naekran.cpp). #define _NaEkran(x) \ cout << #x << " = \t" << x << endl; int x = 5; long y = 73898l; _NaEkran(x); _NaEkran(y); _NaEkran("Tekst"); int *p_x = &x; _NaEkran(p_x); _NaEkran(*p_x); 5
6 Przykład 2. Definicja i wywołanie makra (w09-07-makrokwadratargumentu.cpp). #define KWADRAT_ARG(a) ( (a) * (a) ) #define KWADRAT(a) a * a long x = 5; long y = KWADRAT_ARG(x); long z = KWADRAT(x); cout << "y = " << y << endl; // 25 cout << "z = " << z << endl; // 25 long a = 5, b = 7; y = KWADRAT_ARG(a+b); // 12*12 = 144 z = KWADRAT(a+b); // * = 47 cout << "y = " << y << endl; cout << "z = " << z << endl; Przykład 2. UŜycie makr FILE, DATE, TIME (w09-08-linefiledatatime.cpp). #define _Wstaw_(x) \ if (! (x)) \ \ cout << "Blad!! " << #x << "!" << endl; \ cout << " W linii " << LINE << endl; \ cout << " W pliku " << FILE << endl; \ cout << " W kompilowane dniu " << DATE << endl; \ cout << " O godzinie " << TIME << endl; \ int x = 5; cout << "_Wstaw_(x==5). \n"; _Wstaw_(x==5); cout << "_Wstaw_(x!=5). \n"; _Wstaw_(x!= 5); 6
7 8.5 Programy wieloplikowe, instrukcja #include Przykład 1. Program z jednym plikem cpp, dwoma plikami nagłówkowymi (w09-09-define-1cpp-3h.zip). Utworzyć projekt win32 Console Application, nazwa: ca. Dodać do projektu plik ca.cpp, trzy pliki nagłówkowe funkcja1.h, funkcja2.h, funkcja3.h. Plik ca.cpp #include "funkcja1.h" #include "funkcja2.h" #include "funkcja3.h" void main () funkcja1(); funkcja2(); Plik funkcja1.h #ifndef funkcja1_h #define funkcja1_h void funkcja1() cout << " *** funkcja1() *** " << endl; #endif // funkcja1_h Plik funkcja2.h #ifndef funkcja2_h #define funkcja2_h void funkcja2() cout << " *** funkcja2() *** " << endl; #endif // funkcja2_h Plik funkcja3.h (funkcja nie będzie kompilowana) #ifndef funkcja2_h #define funkcja2_h void funkcja2() cout << " *** funkcja2() *** " << endl; #endif // funkcja2_h 7
Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.
Bardziej szczegółowoWykł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ółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowozastępować zarezerwowane słowa lub symbole innymi,
Wykład 7 7. Preprocesor i dyrektywy kompilatora 7.1. Makrodefinicje proste 7.2. Makrodefinicje parametryczne 7.3. Usuwanie definicji makra 7.4. Włączanie innych zbiorów do tekstu programu 7.5. Dyrektywy
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 1.
1.1 Wstęp... 1 1.2 Obiekty stałe... 3 1.3 Obiekty statyczne... 4 1.4 Wskaźniki... 5 1.5 Referencje... 8 1.6 Wskaźniki do wskaźników... 11 1.7 Definiowanie własnych typów danych, polecenie typedef... 17
Bardziej szczegółowoCo nie powinno być umieszczane w plikach nagłówkowych:
Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct
Bardziej szczegółowoPreprocesor. natychmiast następuje \n są usuwane następny wiersz zostaje połączony z tym, w którym był znak \ o usuwane są wszystkie komentarze są
Preprocesor włącza się automatycznie, bez udziału uŝytkownika poprzedza kompilację dokonuje konwersji tekstu realizuje dyrektywy (linie zaczynające się od znaku #) dyrektywy mogą wystąpić w dowolnym miejscu
Bardziej szczegółowoTworzenie projektu asemblerowego dla środowiska Visual Studio 2008.
Dwiczenie 5. TEMAT: CEL: Tworzenie projektu asemblerowego dla środowiska Visual Studio 2008. Celem dwiczenia jest poznanie możliwości VS 2008 w zakresie tworzenia i uruchamiania aplikacji z kodem mieszanym
Bardziej szczegółowoPodstawy 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ółowoProgramowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Bardziej szczegółowoZofia Kruczkiewicz, ETE8305_2 1
Wprowadzenie do programowania obiektowego w C++ 1. Główne zasady programowania obiektowego: hermetyzacja, dziedziczenie, polimorfizm 2. Pojęcie klasy: sposoby deklarowania i definiowania składowych klasy,
Bardziej szczegółowoProgramowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus
Bardziej szczegółowoRodzina protokołów TCP/IP. Aplikacja: ipconfig.
Rodzina protokołów TCP/IP. Aplikacja: ipconfig. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Specyfikacja struktury FIXED_INFO Nazwa struktury:
Bardziej szczegółowoJę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 Preprocesor koncepcja, rola zasady wykorzystania Co to jest
Bardziej szczegółowoPodstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoLaboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot
Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów mgr inż. Arkadiusz Chrobot 10 listopada 2010 1 Preprocesor Preprocesor jest programem uruchamianym przed właściwym procesem kompilacji
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoWykł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++)
Bardziej szczegółowoLaboratorium 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ółowoCwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Bardziej szczegółowoFunkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów
Funkcje. Spotkanie 5 Dr inż. Dariusz JĘDRZEJCZYK Tworzenie i używanie funkcji Przekazywanie argumentów do funkcji Domyślne wartości argumentów Przeładowanie nazw funkcji Dzielenie programu na kilka plików
Bardziej szczegółowoAbstrakcyjne struktury danych w praktyce
Abstrakcyjne struktury danych w praktyce Wykład 13 7.4 notacja polska A.Szepietowski Matematyka dyskretna rozdział.8 stos kompilacja rozłączna szablony funkcji Przypomnienie Drzewo binarne wyrażenia arytmetycznego
Bardziej szczegółowoPMiK Programowanie Mikrokontrolera 8051
PMiK Programowanie Mikrokontrolera 8051 Wykład 3 Mikrokontroler 8051 PMiK Programowanie mikrokontrolera 8051 - wykład S. Szostak (2006) Zmienna typu bit #define YES 1 // definicja stałych #define NO 0
Bardziej szczegółowoEtapy 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
Bardziej szczegółowoProgramowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31
Programowanie w C++ Wykład 8 Katarzyna Grzelak 7 maja 2018 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Bardziej szczegółowoInformatyka 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
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoWprowadzenie 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ółowoPodział programu na moduły
Materiały Podział programu na moduły Informatyka Szczegółowe informacje dotyczące wymagań odnośnie podziału na moduły: http://www.cs.put.poznan.pl/wcomplak/bfiles/c_w_5.pdf Podział programu na moduły pozwala
Bardziej szczegółowo1. 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
Bardziej szczegółowoWprowadzenie 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ółowoProgramowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 6 Katarzyna Grzelak kwiecień 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Bardziej szczegółowoProgramowanie obiektowe w języku C++ dr inż. Jarosław Forenc
Rok akademicki 2016/2017, Wykład nr 4 2/45 Plan wykładu nr 4 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017
Bardziej szczegółowoPodstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16
M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16
Bardziej szczegółowoI - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
Bardziej szczegółowoLaboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej
Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:
Bardziej szczegółowoPodstawy języka skryptowego Lua
Podstawy języka skryptowego Lua Wykorzystanie Lua w C++ Krzysztof Rossa - digiboy rbox_usuń_@o2.pl 2007-07-29 Kontakt z autorem: rbox_usun_@o2.pl Zawartość Wstęp... 3 Po co używamy skryptów?... 3 Przygotowanie
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Bardziej szczegółowoKompilator języka C na procesor 8051 RC51 implementacja
Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub
Bardziej szczegółowoJę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
Bardziej szczegółowoPreprocesor języka C: dyrektywy, makrodefinicje
Preprocesor języka C: dyrektywy, makrodefinicje wer. 8 z drobnymi modyfikacjami! Wojciech Myszka 2017-04-07 09:34:45 +0200 Od kodu do programu wykonywalnego 1. Kod źródłowy 2. Preprocesor (gcc -E) 3. Kompilacja
Bardziej szczegółowoNa ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia
Struktura programu W programach napisanych w C++ litery wielkie i małe są rozróżniane i często po nauce Pascala są przyczyną błędów. Program napisany w języku C++ składa się zazw yczaj z następujących
Bardziej szczegółowoPoprzedni 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
Bardziej szczegółowoPreprocesor 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ółowopublic: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje
Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja
Bardziej szczegółowoWprowadzenie. 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ółowoSzablony funkcji i klas (templates)
Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp
Bardziej szczegółowoZaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce
Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoGlobalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2)
Podstawy programowania (język C) Globalne / Lokalne Wykład 15. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Zmienne globalne / lokalne (1) int A, *Q; // definicja zmiennych globalnych
Bardziej szczegółowoProgramowanie w języku C
Wprowadzenie do języka programowania C. Programowanie w języku C Język C to imperatywny, strukturalny język programowania stworzony na początku lat siedemdziesiątych (1972 rok) przez Denis M. Ritchie.
Bardziej szczegółowoProgramowanie 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ółowoDla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.
Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza
Bardziej szczegółowoInstrukcja instalacji winbgim
Instrukcja instalacji winbgim 1. Przegląd instalacji Instalacja winbgim polega na przekopiowaniu w odpowiednie miejsca dwóch plików: pliku biblioteki, zawierającego m.in. skompilowane funkcje (libbgi.a),
Bardziej szczegółowoFUNKCJE WZORCOWE. Wykład 10. Programowanie Obiektowe (język C++) Funkcje wzorcowe wprowadzenie (2) Funkcje wzorcowe wprowadzenie (1)
Programowanie Obiektowe (język C++) Wykład 10. FUNKCJE WZORCOWE Funkcje wzorcowe wprowadzenie (1) Funkcje wzorcowe wprowadzenie (2) int max ( int a, int b ) return a>b? a : b; Aby mieć analogiczną funkcję
Bardziej szczegółowoInżynieria Wytwarzania Systemów Wbudowanych
GUT Intel 2015/16 1/30 Inżynieria Wytwarzania Systemów Wbudowanych Wykład 3 Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG October 18, 2018 Dobre praktyki GUT Intel 2015/16 2/30 Przenośność
Bardziej szczegółowoProjektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
Bardziej szczegółowoWstęp do programowania
wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.
Bardziej szczegółowoPodstawowe 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
Bardziej szczegółowoAutomatyzacja 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ółowoInformatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu
Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja
Bardziej szczegółowoProgramowanie 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ółowoTemat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Bardziej szczegółowoProgramowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoPytania sprawdzające wiedzę z programowania C++
Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?
Bardziej szczegółowoJę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
Bardziej szczegółowoZajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Bardziej szczegółowoW2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Bardziej szczegółowoPodstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
Bardziej szczegółowo1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Bardziej szczegółowoPodstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++
Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Bardziej szczegółowoProgramowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 11 Katarzyna Grzelak 13 maja 2019 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Klasy cd K.Grzelak (Wykład 11) Programowanie w C++ 2 / 30 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoTEMAT : KLASY POLIMORFIZM
TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 2.
2.1 Definicja, deklaracja, wywołanie funkcji.... 1 2.2 Funkcje inline... 4 2.3 Przekazanie do argumentu funkcji wartości, adresu zmiennej.... 5 2.4 Wskaźniki do funkcji... 8 2.5 Przeładowanie funkcji...
Bardziej szczegółowoPrzekazywanie argumentów wskaźniki
Przekazywanie argumentów wskaźniki klasyczne wywołanie wyliczenie i zwrotne przekazanie tylko jednej wielkości moŝliwość uŝycia zmiennych globalnych niebezpieczeństwa z tym związane wyjście wywołanie funkcji
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)
Bardziej szczegółowoWykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest
Bardziej szczegółowoECLIPSE wnioski z dwóch pierwszych laboratoriów
PODSTAWY PROGRAMOWANIA 3-4 WYKŁAD 22-10-2015 ECLIPSE wnioski z dwóch pierwszych laboratoriów Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową)
Bardziej szczegółowoSzablony 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ółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoProgramowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35
Programowanie w C++ Wykład 3 Katarzyna Grzelak 12 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Zakres ważności obiektów K.Grzelak (Wykład 1) Programowanie w C++ 2 / 35 Zakres ważności obiektów
Bardziej szczegółowoKażdy z nich posiada swoje parametry. W przypadku silnika może to być moc lub pojemność, w przypadku skrzyni biegów można mówić o skrzyni
Język obiektowy był krokiem ewolucji w programowaniu komputerów. Powstał w wyniku rozwoju języków strukturalnych i zmiany podejścia do problemów informatycznych. Cały otaczający świat składa się z obiektów.
Bardziej szczegółowoProgramowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
Bardziej szczegółowoSFML. (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
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład
Bardziej szczegółowoC++. Leksykon kieszonkowy
IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOCIACH ZAMÓW CENNIK CZYTELNIA SPIS TRECI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY
Bardziej szczegółowoProgramowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw
Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej
Bardziej szczegółowoLab 1. Wstęp do programowania w C. Zintegrowane środowisko programistyczne Visual Studio.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 1. Wstęp do programowania w C. Zintegrowane środowisko programistyczne Visual Studio. Podstawowe pojęcia: 1. C imperatywny, strukturalny
Bardziej szczegółowoWstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Bardziej szczegółowoSieciowa komunikacja procesów - XDR i RPC
*** abc.x Przyklad pliku RPCGEN Obliczanie sumy, roznicy i iloczynu dwoch liczb calkowitych *** ************************************ Wywolanie procedury odleglej dopuszcza tylko jeden argument wywolania
Bardziej szczegółowoProgramowanie 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ółowoJęzyki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD
Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe
Bardziej szczegółowoFunkcja (podprogram) void
Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji
Bardziej szczegółowoOperatory na rzecz typu TString
Operatory na rzecz typu TString Dopiszmy w definicji klasy operator[], dzięki któremu potraktujemy obiekt jak tablicę class TString { public: char& operator[]( size_t n ); const char& operator[]( size_t
Bardziej szczegółowo#include "stdafx.h" #include <iostream> #include "windows.h" using namespace std;
// W8_3.cpp : Defines the entry point for the console application. // Przeciazenie operatorow new, delete // Przeciazenie globalne: przeciazone operatory new, delete // dzialaja dla danych dowolnych //
Bardziej szczegółowoZaję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ółowoPROE wykład 4 pozostałe operatory, forward declaration, dziedziczenie. dr inż. Jacek Naruniec
PROE wykład 4 pozostałe operatory, forward declaration, dziedziczenie dr inż. Jacek Naruniec Kolokwium wykładowe Pierwsze kolokwium 6 kwietnia Drugie kolokwium 1 czerwca Kolokwium poprawkowe 8 czerwca
Bardziej szczegółowo