Mit welchen interessanten C/C++-Bibliotheken kann man herumspielen? [closed]

Lesezeit: 5 Minuten

Ich suche ein paar neue Bibliotheken und für C und C++. In der Vergangenheit bin ich meistens “zufällig” über ein paar gestolpert – und die meisten von ihnen haben in Projekten, an denen ich gearbeitet habe, gute Verwendung gefunden.

Bibliotheken sollten auf Mac OS X und Linux/POSIX und möglicherweise auf Windows laufen.

  • Lua – Eine minimale und schnelle Scripting-Engine für Konfigurationsdateien und grundlegendes Anwendungsscripting.
  • V8 – Eine schnelle JavaScript-Engine von Google, ähnlich dem JavaScriptCore von WebKit.
  • Kairo – Eine gute Grafikbibliothek ähnlich QuickDraw/Quartz unter Mac OS X.
  • ZBar – Eine Barcode-Scannerbibliothek, die es ermöglicht, Fotos/Bilder/Videostreams nach Barcodes zu scannen und ihren Wert zurückzugeben.
  • ZLib – Eine sehr kompakte Komprimierungsbibliothek für Datenströme. Benutzte auch zziblib und minizip.
  • DynaPDF – Eine benutzerfreundliche PDF-Generierungsbibliothek.
  • libusb – Eine universelle USB-Bibliothek, die den mobilen Zugriff auf USB-Geräte ermöglicht (ich habe damit einen grundlegenden Treiber für einen benutzerdefinierten POS-Drucker geschrieben).
  • WebKit – Das ist wirklich nett, wenn Sie HTML/Web-Inhalte rendern und in Anwendungen verwenden möchten, um Ihren Benutzern eine “reichere” Benutzererfahrung zu bieten.
  • Qt4 – Das Allzweck-Framework für alle Arten von Desktop- (und möglicherweise Mobil-) Entwicklung. Ich verbringe viel Zeit damit – keine Ahnung, wie ich das vergessen konnte. 😉

Dies sollte als Community-Wiki gekennzeichnet sein. Bitte aktualisieren Sie, wenn Sie etwas Interessantes hinzuzufügen haben!

Vielen Dank!


Aktualisierung 1

Ich suche nicht nach “Produktivitätsbibliotheken” wie Boost oder STL. Stattdessen suche ich nach “interessanten neuen Sachen” aus beliebigen Genres – seien es Grafikbibliotheken, Skriptbibliotheken, Netzwerk- oder sogar MOD/MIDI-Wiedergabebibliotheken. Entschuldigung, dass ich das vorher nicht deutlich gemacht habe.

  • @bua: CW war tot schon lange.

    – sbi

    10. März 2011 um 14:23 Uhr


  • @badcat: Versuchen Sie, in die Template-Meta-Programmierung einzusteigen. Es wird Ihren Blick auf das, was in C++ möglich ist, erheblich erweitern.

    – sbi

    10. März 2011 um 14:24 Uhr

  • @Nawaz & @badcat: Ich habe immer wieder auf Leute gezeigt templog.org als sie nach Protokollierungsbibliotheken fragten, aber es scheint, dass der Stamm derzeit nicht sehr gut funktioniert und der Typ, der ihn erstellt hat, offensichtlich keine Zeit/Energie/was auch immer hat, um daran zu arbeiten. IMO ist es ausgezeichnet praktische Anwendung von TMP (hauptsächlich Expressionsvorlagen) in a kleine, verdauliche Bibliothek (hauptsächlich ein halbes Dutzend Header). IOW, es ist ein idealer Spielplatz zum Basteln. (Ein ehemaliger Kollege von mir bat um SVN-Schreibzugriff, um seine eigenen Sachen hinzuzufügen, und bekam es innerhalb weniger Stunden.)

    – sbi

    10. März 2011 um 15:02 Uhr

STL und Boost sind ein Muss.

SQLite bietet eine vollständig eingebettete relationale Datenbank mit vollem Funktionsumfang in wenigen 100.000, die Sie direkt in Ihr Projekt integrieren können. Aufgrund seiner hohen Präsenz ist es auch eine sehr marktfähige Fähigkeit (es ist in Mozilla Firefox sowie in Android und iOS enthalten).

Wenn Sie daran interessiert sind, Benutzeroberflächen zu erstellen, schauen Sie in ncurses — es ist die Bibliothek, die verwendet wurde, um viele Terminal-Benutzeroberflächen zu erstellen, und kann sehr nützlich sein, um Spiele und Shell-Dienstprogramme zu erstellen. Qt ist ein gutes GUI-Framework für C++.

Wenn Sie an Grafiken interessiert sind oder Spiele erstellen, ziehen Sie SDL oder OpenGL in Betracht (oder DirectX, wenn es Ihnen nichts ausmacht, nur unter Windows zu arbeiten).

Natürlich gibt es Tausende interessanter Bibliotheken. Es kommt wirklich darauf an, was dich interessiert.

  • Qt ist wirklich eine ernsthafte Arbeit. Vielleicht ist es meine persönliche Meinung, aber Qt ist eine der funktionellsten und vollständigsten GUIs Rahmen für C++.

    – ozgur

    2. Februar 2016 um 15:36 Uhr

Wenn Sie sich für Bildverarbeitung usw. interessieren, dann OpenCV könnte interessant sein, damit herumzuspielen.

Jeder C++-Programmierer sollte zuerst mit diesen beiden Bibliotheken herumspielen:

  • C++-Standardbibliothek – einschließlich STL-Container, STL-Algorithmus, STL-Funktionalität usw.
  • Erhöhen Sie C++-Bibliotheken.

Für GUI

  • Sie meinten wahrscheinlich die Standard Template Library, auch bekannt als STL?

    – Ludin

    10. März 2011 um 14:05 Uhr

  • @Lundin: Ich meine die C++-Standardbibliothek, die auch STL enthält. Sehen Sie sich das an. Worum geht es bei diesem Kampf zwischen STL und der „C++-Standardbibliothek“?

    – Nawaz

    10. März 2011 um 14:08 Uhr

  • Wahrscheinlich nicht, die Standard Template Library ist nicht dasselbe wie die Standard C++ Library, da nur Teile davon (wie die Container und Algorithmen) in C++98 integriert wurden und die Standard (C++) Library viel mehr enthält .

    – Filmer

    10. März 2011 um 14:11 Uhr

  • Mein Fehler. Es stellt sich heraus, dass ich so alt bin, dass ich C++ gemacht habe, bevor STL Teil des Standards wurde. Es war einmal, dass STL nur ein “De-facto”-Standard war, und daher haben die Leute es separat bezeichnet, wie Sie es jetzt mit Boost tun. Wie auch immer, das OP sucht nach etwas Neuem, Frischem und Aufregendem, was wahrscheinlich den größten Teil der C++-Bibliothek ausschließt …

    – Ludin

    10. März 2011 um 14:34 Uhr


Warum nicht versuchen OGER und einen Blick in 3D-Grafiken werfen?

Visualisierungsbibliothek könnte von Interesse sein. Sehen Sie sich diese Galerie an

Visualization Library ist eine C++-Middleware für leistungsstarke 2D- und 3D-Grafikanwendungen, die auf dem Industriestandard OpenGL 1.x-4.x basiert und für die Entwicklung portabler Anwendungen für die Betriebssysteme Windows, Linux und Mac OS X entwickelt wurde.

Bibliothek für Kugelphysik ist eine Open-Source-Physik-Engine mit 3D-Kollisionserkennung, Soft-Body-Dynamics und Starr-Body-Dynamics. Es wird in Spielen und in visuellen Effekten in Filmen verwendet.

  • Der Visualisierungslink scheint ausgefallen zu sein.

    – ghstcode

    5. November 2015 um 0:19 Uhr


Schub scheint eine naheliegende Wahl.

Aber wenn Sie nach etwas Spezifischerem suchen, dann das OpenCV Die Bibliothek scheint derzeit großes Interesse zu wecken – es handelt sich um eine Open-Source-Computer-Vision-Bibliothek.

  • Der Visualisierungslink scheint ausgefallen zu sein.

    – ghstcode

    5. November 2015 um 0:19 Uhr


Wenn Sie damit herumspielen möchten maschinelles Lernen (Klassifikatoren und dergleichen), Bayessche Netzwerkeoder versuchen Sie, Ihre eigenen Algorithmen zu erstellen, möchten aber einige nützliche Tools dafür verwenden (z. B. vorgefertigte Optimierungs- und lineare Algebra-Tools), dann probieren Sie es aus dlib. Ich finde es großartig, aber ich arbeite daran, also bin ich voreingenommen 🙂

1405510cookie-checkMit welchen interessanten C/C++-Bibliotheken kann man herumspielen? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy