Geliştirdiğim multimedya kütüphanesinin ilk versiyonunu dikkatlerinize sunuyorum. Küçük DirectMedia Katmanı, kısaltılmış LDL.
Kitaplık, Visual C++ 98'dan başlayarak derlenmesine olanak tanıyan C++ 6.0 standardında yazılmıştır. Kod, Boost Yazılım Lisansı 1.0 koşulları altında dağıtılmaktadır. Ancak kütüphane, programcıların C++ dil standardını seçmesini sınırlamaz; bir programcı herhangi bir modern dil standardını kullanabilir. Düşürme felsefesine bağlıyım - bu, şirketlerin kendi "güncel olmayan" işletim sistemlerini veya cihazlarını desteklemediği, ürünlerinin her yeni sürümüyle birlikte sistem gereksinimlerini arttırdığı veya desteklemeyi bıraktığı eski cihazların ve yazılımların günlük yaşamda kullanılmasıdır. cihaz. Dünyanın dört bir yanındaki milyarlarca cihaz, her saniye milyarlarca optimize edilmemiş kod talimatını çalıştırıyor.
Bu sene C++ 2023 konferansında sunum yaptım "Geçmişe Doğru İlerlemek veya Bir Çerçeve Geliştirmek" Windows 2023'te 95".
Projemle eski donanımın hala kullanışlı olabileceğini ve bunları hurdaya çıkarmak için henüz çok erken olduğunu kanıtlamak istiyorum. Eski teknolojilerin, yaklaşımların ve donanımın çekici bir yanı var, aynı zamanda yeni kütüphanelere ve programlara karşı da bir meydan okuma var.
Geliştirme sürecinin en başında bu kütüphanenin mümkün olabileceğine dair hiçbir fikrim yoktu. Ancak prototipin pratik uygulaması sırasında, gelecekteki kütüphanenin temeline satır satır ekleyerek, onun yaratılma ve pratik uygulama olasılığına ikna oldum.
Yukarıdakileri özetlemek gerekirse, hızlı programlar yazmak mümkündür, sadece eskilerin bilgilerini kullanmanız yeterlidir.
Kütüphane özellikleri:
- destek Linux Debian 3 ve üzeri (yerel derleme sağlanmıştır);
- destek Windows bir - Windows 11;
- 2D grafiklerle çalışmak için basit API;
- birçok grafik formatının yüklenmesi (bmp, png, tga, jpg);
- Windows ve işletim sistemi olayları üzerinden platformlar arası API;
- OpenGL 1.2, donanımsal grafik hızlandırma için kullanılır ve
- OpenGL 3.3'te, donanım hızlandırması yoksa yalnızca CPU'da grafik işleme desteği vardır;
- oluşturucu, uygulama yüklenirken dinamik olarak seçilebilir;
- tüm sistemler için tek bir API - bir kez yazın ve her yerde derleyin!
- ses çalma;
- Dinamik ve statik bağlantı.
бланы на будущее:
- ses oynatma akışı;
- serbest tip kitaplığı desteğiyle metin çıktısı;
- ek Direct3D 9, 10, 11 render'ları;
- Akışlarla çalışmak için API;
- ağla çalışmak için yerleşik API desteği;
- Çerçeveyi diğer platformlara taşımak: AndroidiOS, macOS.
Bağlantılar:
- Montaj açıklamasını içeren proje deposu
- Örnek programlar
- Raporun sunumu
- KBB ile ilgili önceki tartışma
Kaynak: linux.org.ru
