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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Dennis  . (nqtronix)


Bewertung
2 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht lesenswert
Eine gute Demonstration, warum C++ templates erfunden wurden...
Duck und wech

von Dennis  . (nqtronix)


Bewertung
3 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Dennis  . schrieb:
> Für C muss man halt kreativ werden schulterzuck

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

von Dennis  . (nqtronix)


Bewertung
1 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht lesenswert
super, Danke !

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.