Ich prĂ€sentiere Ihnen die erste Version der von mir entwickelten Multimedia-Bibliothek. Kleine DirectMedia-Schicht, abgekĂŒrzt LDL.
Die Bibliothek ist im C++ 98-Standard geschrieben und kann daher ab Visual C++ 6.0 kompiliert werden. Der Code wird unter den Bedingungen der Boost Software License 1.0 verteilt. Aber die Bibliothek schrĂ€nkt Programmierer nicht bei der Wahl des C++-Sprachstandards ein; ein Programmierer kann jeden modernen Sprachstandard verwenden. Ich halte mich an die Downgrade-Philosophie â das ist die Verwendung alter GerĂ€te und Software im Alltag, wenn Unternehmen ihre eigenen âveraltetenâ Betriebssysteme oder GerĂ€te nicht mehr unterstĂŒtzen, die Systemanforderungen mit jeder neuen Version ihres Produkts steigen oder sie nicht mehr unterstĂŒtzen GerĂ€t. Milliarden von GerĂ€ten auf der ganzen Welt verarbeiten jede Sekunde Milliarden nicht optimierter Codeanweisungen.
Dieses Jahr habe ich einen Vortrag auf der C++ 2023-Konferenz gehalten âVorwĂ€rts in die Vergangenheit oder Entwicklung eines Rahmens fĂŒr Windows 95 im Jahr 2023.
Mit meinem Projekt möchte ich beweisen, dass alte Hardware noch nĂŒtzlich sein kann und es noch zu frĂŒh ist, sie als Schrott abzuschreiben. Alte Technologien, AnsĂ€tze und Hardware haben etwas Charmantes, aber auch eine Herausforderung fĂŒr neue Bibliotheken und Programme.
Ganz am Anfang des Entwicklungsprozesses hatte ich keine Ahnung, dass diese Bibliothek ĂŒberhaupt möglich ist. Aber wĂ€hrend der praktischen Umsetzung des Prototyps, der Zeile fĂŒr Zeile zum Fundament der zukĂŒnftigen Bibliothek hinzufĂŒgte, wurde ich von der Möglichkeit seiner Erstellung und praktischen Anwendung ĂŒberzeugt.
Zusammenfassend lÀsst sich sagen, dass es möglich ist, schnelle Programme zu schreiben, man muss lediglich das Wissen der Alten nutzen.
Bibliotheksfunktionen:
- unterstĂŒtzen Linux Debian 3 und höher (native Assembly wird bereitgestellt);
- unterstĂŒtzen Windows 95 - Windows 11;
- einfache API zum Arbeiten mit 2D-Grafiken;
- Laden vieler Grafikformate (BMP, PNG, TGA, JPG);
- plattformĂŒbergreifende API ĂŒber Windows- und Betriebssystemereignisse;
- OpenGL 1.2 wird fĂŒr die Hardware-Grafikbeschleunigung verwendet
- OpenGL 3.3 unterstĂŒtzt die Grafikverarbeitung nur auf der CPU, wenn keine Hardwarebeschleunigung vorhanden ist;
- der Renderer kann beim Laden der Anwendung dynamisch ausgewÀhlt werden;
- eine einzige API fĂŒr alle Systeme â einmal schreiben und ĂŒberall kompilieren!
- Tonwiedergabe;
- dynamische und statische Verlinkung.
PlĂ€ne fĂŒr die Zukunft:
- Streaming-Audiowiedergabe;
- Textausgabe mit Freetype-BibliotheksunterstĂŒtzung;
- zusÀtzliche Renderings Direct3D 9, 10, 11;
- API zum Arbeiten mit Streams;
- integrierte API-UnterstĂŒtzung fĂŒr die Arbeit mit dem Netzwerk;
- Portierung des Frameworks auf andere Plattformen: Android, iOS, MacOS.
Links:
- Projekt-Repository mit Baugruppenbeschreibung
- Beispielprogramme
- PrÀsentation des Berichts
- Vorherige Diskussion zum Thema HNO
Source: linux.org.ru
