Skocz do zawartości

Zwiększy wydajność i bezpieczeństwo Twojego kodu C++ dzięki bibliotece 'libfmt' - wdrożenie

Opublikowano

Witam społeczność Sharegon!

 

Przedstawiam Wam przewodnik po wdrożeniu biblioteki 'libfmt' w Waszych projektach. Aktualnie pracuję nad projektem Entry-core i przepisuję znaczną część kodu zgodnie z najnowszym standardem C++20. W oryginalnym kodzie gry, tekst formatowany jest za pomocą przestarzałej metody sprintf, która pochodzi jeszcze z języka C. 🕰️

 

📝 Kilka słów o bibliotece libfmt...

Biblioteka 'libfmt' w C++ służy do formatowania tekstu i oferuje szereg funkcji, które czynią ten proces bardziej wydajnym i bezpiecznym w porównaniu z tradycyjnymi funkcjami formatującymi dostępnymi w C++, takimi jak printf i sprintf. Oferta biblioteki obejmuje API, które jest bardzo czytelne i proste w użyciu, z możliwościami dostosowania do konkretnych potrzeb.

 

 

Zalety:

  • Kontrola typów podczas kompilacji dzięki zastosowaniu szablonów i funkcji wariadycznych. 🛠️
  • Znacznie większa szybkość w porównaniu z tradycyjnymi metodami formatowania. 🚀
  • Intuicyjna i łatwa do zrozumienia składnia, ułatwiająca pisanie i utrzymanie kodu. 📖
  • Kompatybilność z C++20, z funkcjami wykorzystującymi nowości języka, np. formatowanie zmiennych typu std::string_view. 🆕

 

 

⬇️ Pobieranie: 

Stworzyłem dla Was gotową paczkę z biblioteką 'libfmt' w najnowszej wersji 10.1.1, którą bez problemu skompilujecie we własnym projekcie. Poniżej przedstawię, jak to zrobić. Na początek pobierz paczkę.

libfmt.rar

 

 

🛠️ Implementacja na podstawie entry-core: 

📁 Lokalizacja: 'usr -> src -> entry-core'

 

Do tej lokalizacji wrzuć pobraną wcześniej paczkę 'libfmt'.

 

 

🔧 Proces kompilacji biblioteki: 

Przejdź do katalogu:

/usr/src/entry-core/libfmt/include

 

📖 Otwórz plik 'MAKEFILE' i ustaw swój kompilator (w przypadku Entry-core jest to clang++12). Uwaga: biblioteka fmt w wersji 10.1.1 musi być skompilowana z flagą -std=c++20.

 

 

Aby rozpocząć proces kompilacji, wpisz:

gmake dep

 

gmake

 

Po udanej kompilacji w folderze libfmt/lib powinieneś zobaczyć plik libfmt.a. Jest to statyczna biblioteka fmt, którą możemy teraz dołączyć do naszego projektu.

 

 

🖇️ Dołączanie biblioteki do projektu: 

📁 Przejdź do katalogu:

/usr/src/entry-core/game/src

 

📖 Otwórz plik 'MAKEFILE' 

🔍 Szukaj:

# lua
INCDIR += -I../../liblua/5.0/include
LIBDIR += -L../../liblua/5.0/lib
LIBS += ../../liblua/5.0/lib/liblua.a ../../liblua/5.0/lib/liblualib.a 

 

 Dodaj:

# libfmt
INCDIR += -I../../libfmt/include
LIBDIR += -L../../libfmt/lib
LIBS += -lfmt

 

Teraz możesz jej używać, dołączając odpowiednie nagłówki, np.

#include <fmt/format.h>

 

Gratulacje! 🎉 Właśnie wdrożyłeś bibliotekę fmt do swojego projektu.

Featured Replies

Opublikowano

I serwer wchodzi na wyższy lvl 😄

Opublikowano

Dzięki!

Opublikowano

dzięki

  • 4 miesiące temu...
Opublikowano

nhu8

  • 1 miesiąc temu...
Opublikowano
  • Premium

dziekuje

  • 2 tygodnie później...
Opublikowano

thx

Gość
Dodaj odpowiedź do tematu...