Added c++ version to code base.
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user