Files
2026-05-23 14:23:37 +02:00

66 lines
1.3 KiB
Markdown

# BinaryConverter Native fuer Linux
Diese Variante ist eine native C++17-Implementierung fuer Linux, getestet fuer Arch Linux. Sie ist formatkompatibel zur vorhandenen C#/.NET-Framework-Version: Encode-Dateien koennen zwischen Windows und Linux gegenseitig verarbeitet werden.
## Voraussetzungen
Arch Linux:
```bash
sudo pacman -S --needed base-devel openssl pkgconf
```
## Build
```bash
cd native
make
```
Die Binary liegt danach hier:
```text
native/build/binaryconverter
```
Optional generischere Binary ohne CPU-spezifische Optimierung:
```bash
make clean
make CXXFLAGS="-O3 -DNDEBUG"
```
## Nutzung
Encode:
```bash
./build/binaryconverter -Encode input.bin -Output transfer.txt
```
Decode:
```bash
./build/binaryconverter -Decode transfer.txt output.bin
```
Mit Logfile:
```bash
./build/binaryconverter -Encode input.bin -Output transfer.txt -Log binaryconverter.log
```
Vorhandene Ausgabedatei ueberschreiben:
```bash
./build/binaryconverter -Decode transfer.txt output.bin -Force
```
## Verhalten
- Streaming-Verarbeitung ohne komplette Dateien in den RAM zu laden
- Base64-Zeilen mit 76 Zeichen
- temporaere Ausgabedatei im Zielverzeichnis und atomarer Rename nach Erfolg
- Decode prueft `SourceLength` und `SHA256`, wenn die Metadaten vorhanden sind
- Exitcodes wie die C#-Version: `0` Erfolg, `1` Laufzeit-/Datenfehler, `2` Argumentfehler