De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

De programmeertaal C++

Verwante presentaties


Presentatie over: "De programmeertaal C++"— Transcript van de presentatie:

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


Download ppt "De programmeertaal C++"

Verwante presentaties


Ads door Google