Moderne Konstante
constexpr int max = 20;
– Erlaubt sind iterationen: max++; max + 5;
– Nicht erlaubt sind Zuweisungen: max = 22;
Moderne Konstante
constexpr int max = 20;
– Erlaubt sind iterationen: max++; max + 5;
– Nicht erlaubt sind Zuweisungen: max = 22;
#include <string>
Deklarationen
char char_a = 'a' ; std::string name = "berta" ;
Implizter Typecast
int int_a = char_a // int_a => 99;
Bei c++ wird eine char-Variable als int ausgelesen, wenn sie einer int-Variable zugewiesen wurde. (Es braucht keinen Typcast)
Allgemein cout und cin
– Aufgrund von Operator Overloading kann cout alle Datentypen ausgeben
– Standardformat für Zahlen ist hex
– #include <iostream> ist notwendig
– Die Eingabe über Konsole wird wortweise in cin gespeichert.
– Gibt man mehrere Wörter (mit Leerschlag getrennt) ein, so wird
. wenn cin nur 1 Varibale folgt, nur das erste Wort übernommen. Ansonsten
. braucht es nach cin mehrere Variablen.
– Wert = 0 wird nicht ausgegeben. Es erscheint ein Loch.
Es scheint, wie wenn kein Wert da ist.
Ausgabe dezimal
std::cout << std::dec << (int) var_1 << std::endl; std::cout << std::dec << (int) treeMemy[0] << std::endl;
Ausgabe bitwise
Es braucht zwei Schritte. Typcast vor dem Output direkt funktioniert nicht.
char var_1 = 5; std::bitset<8> bits(var_1); /funktion vor output std::cout << bits << std::endl;
– bitset muss als Library eingefügt werden
#indlucde <bitset >
Ausgabe char
– Char-Werte werden teilweise wie die 0-Werte nur mit einem Loch ausgegeben. Die Konversion zum Datentyp short hilft, dass man die Werte auf der Konsole sieht.
std::cout << (short) bitReadOut << std::endl;
Führende Nullen anzeigen
std::cout << setfill('0') << setw(5) << var_2<<
std::endl;
-setw() sagt, wie viele Stellen man insgesamt ausdruckt
.
Kompilieren ( 2 Varianten )
$ make <datei> // ohne Endung
$ g++ -std=c++11 -Wall -Wextra <datei>.cpp -o <programm>
Programm aufrufen
$ ./<programm>
Programm pyinstaller fasst python pakete zusammen zu einem executable
Installation: git clone https://github.com/pyinstaller/pyinstaller
Von Python zu Exe
pyinstaller test.py Befehl ausführen
. Es wird automatisch ein Ordner dist/ bebildet,
. in dem das exe liegt
Bsp.
Die laufenden DHCP-Prozesse mit ps aux | grep „dhc“ auf der Konsole ausgeben.
Es erscheinen die laufenden Prozesse.
Die ungewollten Prozesse sudo 1346 kill stoppen.
Stärkere Sicherheit als ein Passwort bieten die RSA-Keys.
Keys erstellen
Ein gute Einleitung bietet Github unter Profile/Settings/SSH-Key:
Public key weitergeben
Dem externen Programm mit add id_rsa.pub den Key zufügen.
Ablegeort der Keys
– In der versteckten und passwort-geschützten Datei .ssh werden die Keys abgelgt.
– Die zwei Keys sollten nicht auf dem Rechner liegen, bzw. falls doch, dann nur verschlüsselt. Sie auf einem Stick oder anderen Speichermedium abgelegt werden.
Zweiter Key
Hat man einen weiteren Key, kann man diesen im Programm als zusätzlichen Key zufügen. Es funktioniert nur, wenn man den private Key auf dem Rechner abgelegt hat.
Man kann den ersten Key entweder löschen oder stehen lassen.
Das Programm
– Git wurde von Linus Torvalds entworfen.
– Einziges Ziel von Git ist das Verwalten der Versionierung.
– löscht man die Git-Datei, löscht man nur die Versionierung. Die Dateien bleiben
– Git kann lokal gebraucht werden, wie auch über eine Plattform (z.B. Github).
– Git hat nichts mit Github zu tun
Versionierung lokal anlegen
git init
git add <Datei oder Ordner>
Versionierung remote anlegen
git clone git@github.com/<user>/projekt
Vergleich mit svn
– svn bedingt einen Server
– svn: Änderungen liegen auf dem Server <-> git: Änderungen lokal auf .git
Um sich die WIFI-Konfiguration zu vereinfachen, hilft folgendes Programm:
– Wicd-curses (cursos bedeutet ohne X11 = Fenster)
Installation WiFi-Manager
apt-get install wicd
Konfiguration des WiFi-Adapters
– per ssh (über LAN) auf das Gerät und WiFi-Manager starten
– WiFi-Adapter einstecken
Unterschied Image <-> Datei
Ein image (speicherabbild) wird nicht, wie eine Datei, kopiert, sondern bitweise in das Medium geschrieben. Das Image liest auch die Rohdaten (wie Startadresse) und Filesystem und nicht nur Dateiinhalte.
Beim Kopieren findet man denselben Dateiname am Zielort. Beim Einschreiben kommt die Image-Datei nicht mehr vor, sondern sie ist nun physich vorhanden
Programme zum Einschreiben von Image
– dd
– bmaptool