Forum: Projekte & Code [C] fifofast - eine schnelle, macro-basierte, generische FIFO (MIT Lizenz)


von Dennis  . (nqtronix)


Lesenswert?

Inspiriert von dem einfachen 2ⁿ-FIFO Beispiel aus unserem wiki habe ich 
schnelle FIFO mit erweitertem Funktionsumfang erstellt.

Funktionen:
- basiert auf Macros
- generisch: jede FIFO kann einen beliebigen Datentyp speichern
- flexible Größe: jede FIFO kann eine beliebige 2ⁿ Länge haben (n < 
2^16)
- minimaler RAM benötigt
- einfach: alle FIFO-typischen Funktionen sind verfügbar, Beispielcode 
ist vorhanden
- MIT-lizensiert

Der Code und eine etwas ausführlichere Beschreibung ist auf 
https://github.com/nqtronix/fifofast gehosted.
 
 
Alle marcos der aktuellen Version 0.2.0 sind getestet und funktionieren 
wie erwartet. Vorherige Versionen (bevor ich git genutzt habe) sind 
bereits seit etwa einem Jahr problemlos in Verwendung. Ich plane noch 
einige Features und Performanceoptimierungen, wollte aber diese 
vorläufige Version schon mal mit euch teilen, da sie imho einige 
Vorteile zu der Variante aus dem wiki besitzt.

Falls ihr Verbesserungsvorschläge oder generelles Feedback habt könnt 
ihr das gerne hier posten, für Bugs macht bitte ein Issue auf github 
auf.

Grüße
Dennis

Edit: Titel bearbeitet

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Eine gute Demonstration, warum C++ templates erfunden wurden...
Duck und wech

von Dennis  . (nqtronix)


Lesenswert?

Dr. Sommer schrieb:
> Eine gute Demonstration, warum C++ templates erfunden wurden...

Da stimm ich dir zu, für C++ Code sind templates die bessere Wahl. Für C 
muss man halt kreativ werden schulterzuck

von Dr. Sommer (Gast)


Lesenswert?

Dennis  . schrieb:
> Für C muss man halt kreativ werden schulterzuck

Oder sich überlegen ob man wirklich unbedingt C braucht...

von Dennis  . (nqtronix)


Lesenswert?

Hab in den letzten Tagen an fifofast weiter gearbeitet und um folgende 
Features ergänzt:

- Readme komplett überarbeitet (mit vielen Beispielen!)
- automatisiertes Testen des Quellcodes
- inline Funktionen, um auf Fifos per pointer zugreifen zu können
- fifo arrays, falls man mehr als 1 Fifo von der gleichen Art braucht

Wie gehabt ist der Code auf https://github.com/nqtronix/fifofast 
gehostet.

von Oscar K. (sieges)


Lesenswert?

super, Danke !

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.