C: Variable Argumente richtig nutzen

Immer wieder finde ich zu Funktionen mit variablen Argumenten folgende Konstruktion: Hier stellt sich die Frage, warum für fmt unbedingt den Wert 0 erlaubt werden muss? Nach C99-Standard ist va_list ein opaques Objekt und kein Pointer. Weder das Vorinitialisieren der va_list (führt auf vielen Architekturen zu Compiler-Fehlern) noch das Prüfen von fmt auf NULL (Der Wert […]

Read More

Windows XP: RAM-Disk oberhalb von 4GB

Die Gavotte Ramdisk bietet die Möglichkeit auf· 32-Bit Windows Betriebssystemen (XP, Vista) den ungenutzen Speicher oberhalb der 32-Bit Grenze als Ramdisk zu verwenden. Auch bei einem 32-Bit System mit nur 4 GB RAM, kann der bisher nicht nutzbare Bereich (ab ca. >· 3.1 GB)  als Ramdisk genutzt werden. Es ist sogar möglich dort eine Swapdatei anzulegen. Nach dem Download […]

Read More

Partitionen in Disk-Images

Wie komme ich an die Partitionen eines kompletten Festplattenimages ran? Normalerweise kann man die Partitionen nicht einfach mounten. Ein „fdisk -l DISKIMAGE“ funktioniert aber noch. Nur wie kommt man an die Partitionen direkt heran? Die Option „offset“ des Kommandos losetup löst das Problem: Mit „fdisk -luS“ kann man sich den Startsektor der jeweiligen Partition anzeigen […]

Read More

Kurztipp: BASH und Netcat

Oft ist es nicht nötig für kleinere Aufgaben gleich ein Programm in C oder einer anderen Hochsprache zu implementieren um es dann wiederum aus einem Shell-Skript aufzurufen. Mit den folgenden Skripten kann man aus der Shell heraus einfach TCP/IP Kommunikation mittels netcat machen: […]

Read More

Dateien gegen versehendliches Löschen schützen

Wie oft ist es einem schon passiert: „rm -rf *“ und schon sind die Dateien futsch. Gegen diese Wildcard-Killer ist jedoch ein Filesystem-Kraut gewachsen: Die „-i“ Datei. Wie funktioniert es? Die Shell löst beim „*“ alle Dateien des aktuellen Verzeichnisses auf, dann wird die Argumentenliste an den „rm“-Befehl weitergeleitet. Die erste Datei heißt wird dabei […]

Read More