Download de presentatie
De presentatie wordt gedownload. Even geduld aub
1
De programmeertaal C++
Geschiedenis Geschreven in C++ Voor- en nadelen Voorbeeld in C en C++ Compile, link en run Voorbeeld: beruchte fout in C, oplossing in C++ Aanvullende bibliotheken Voorbeeld: wxWidgets op Raspbian
2
Geschiedenis 1979: Bjarne Stroustrup verzint “C with classes”
Pre-processor voor C compilers Object-georienteerde toevoegingen 1983: Naam “C++” Jaren ‘90: Standard Template Library (STL) Boost 1998: Standaard ISO/IEC = “c++98” Inmiddels ook c++03, c++11, c++14, c++17, etc….
3
Geschreven in C++
4
Voor- en nadelen C++ Gecompileerd, efficiente code
Aanpassingen standaard backwards compatible Compiler op vrijwel ieder systeem Basaal Géén standaard toegang tot GUI of database Meer regels om hetzelfde te bereiken Keuzevrijheid om C-stijl, procedureel, object georiënteerd of functioneel te programmeren Veel vrijheid om fouten te maken Meeste implementaties geen “garbage collection”
5
C en C++ Hello world in C Hello world in C++
String en cout onderdeel van de STL #include <stdio.h> main() { char msg[] = "Hello World"; printf( "%s", msg ); }; #include <iostream> #include <string> int main() { std::string msg = "Hello World"; std::cout << msg; };
6
hello.cpp + iostream.h + string.h
Compile, link en run > g++ hello.cpp -o hello > ./hello Hello World Compile Link hello.cpp + iostream.h + string.h hello.o iostream.cpp iostream.o hello string.cpp string.o
7
Beruchte foutbron C Buffer overflow in C Geen buffer overflow in C++
character array msg precies groot genoeg character array msg te klein voor uitroepteken. Geen buffer overflow in C++ string maakt automatisch ruimte voor uitroepteken #include <stdio.h> #include <string.h> main() { char msg[] = "Hello World"; printf( "%s", msg ); strcpy( msg, "Hello World!" ); }; #include <iostream> #include <string> int main() { std::string msg = "Hello World"; std::cout << msg; msg = "Hello world!"; }
8
Bibliotheken Microsoft Foundation Classes (MFC) MS Visual C++ (VC)
MS Dot Net (.net) Borland Visual Component Library (VCL) Qt wxWidgets Duizenden gespecialiseerde libs...
9
wxWidgets voorbeeld
10
Naar Raspbian
11
Compile en link > cd wxtunnel
> g++ -c `wx-config –cxxflags` *.cpp > g++ `wx-config –libs` *.o -o wxtunnel > ./wxtunnel
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.