Added c++ version to code base.

This commit is contained in:
2026-05-22 19:05:24 +02:00
parent b60f84e519
commit 197862fc36
6 changed files with 1228 additions and 1 deletions
+65
View File
@@ -0,0 +1,65 @@
# 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