klassebiblioteker til c++

Tags:    c++

Hej udviklere,
jeg har forstået at en af fordelene ved at programmere i c++ er at der er adgang til allerede eksisterende klassebiblioteker i stort tal - så man ikke behøver at vedblive med at opfinde den dybe tallerken... Jeg kan imidlertid ikke finde nogen god introduktion til det. Måske kan I erfarne programmører hjælpe mig:
1. Hvor er disse gode klassebiblioteker, og hvilke er gode? Jeg har (gennem internettet) fundet to der ser gode ud, boost (som virker som en udvidelse til STL) og wxWidgets (som vist er en c++ måde at lave GUI på, please correct me if I am wrong).
2. Jeg er specifikt ude efter klassebiblioteker der kan håndtere tal og statistik: store heltal, tilfældige tal, lineær regression, monte carlo. Jeg har søgt på nettet, men alt hvad jeg kan finde er til UNIX (og jeg bruger MinGW på Windows). Hvis nogen kender nogen her ville jeg være super taknemmelig.
Jeg ville også gerne stifte bekendtskab med nogle til 2d-grafik, men der kan jeg måske blot bruge wxWidgets?
3. Hvordan bruger man disse klasse-biblioteker? Det lader til at nogle skal compileres (jeg bruger Code::Blocks) som static libraries, men hvad gør jeg derfra? Jeg kan ikke umiddelbart finde nogen gode tutorials.
Jeg ville sætte meget pris på nogle gode ideer, tak!



4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
1: Det er rigtigt, boost indeholder mange nyttige funktioner og classer. Det største problem er måske at der er for mange funktioner og classer. wxWidgets er ganske rigtigt et GUI bibliotek.

2: De fleste biblioteker der er udviklet ti unix/linux kan også bruges på windows, med mingw, det kræver "bare" at de er overstat med mingw. Der følger ofte en "makefile" med bruges til at oversætte med. Her bruges kommandoen kommandolinie progammet make.exe.

3: Oftest inkluderer man en eller flere header filer og linker med biblioteket. Hvis du har et project i code :: blocks tilføjer du biblioteket under Project -> Build Options -> Linker. Under "link libraries" tilføjer du navnet. Oftest hedder biblioteket (filen)libxyz.a, du skal så bare tilføje xyz.



Tak,
det lyder rimeligt nemt hvis jeg blot kan make filerne med make.exe - det prøver jeg!




2. Jeg er specifikt ude efter klassebiblioteker der kan håndtere tal og statistik: store heltal, tilfældige tal, lineær regression, monte carlo. Jeg har søgt på nettet, men alt hvad jeg kan finde er til UNIX (og jeg bruger MinGW på Windows). Hvis nogen kender nogen her ville jeg være super taknemmelig.
Jeg ville også gerne stifte bekendtskab med nogle til 2d-grafik, men der kan jeg måske blot bruge wxWidgets?

Jeg bruger Crypto++ (http://www.cryptopp.com/) til store tal, tilfældigheds generering (og kryptering). Det kan sikkert en del af, hvad du leder efter.
Til 2D grafik bruger jeg SDL (http://www.libsdl.org/).


3. Hvordan bruger man disse klasse-biblioteker? Det lader til at nogle skal compileres (jeg bruger Code::Blocks) som static libraries, men hvad gør jeg derfra? Jeg kan ikke umiddelbart finde nogen gode tutorials.

Det er selvfølgelig forskelligt fra bibliotek til bibliotek hvordan man bruger dem, men deres hjemmesider plejer at indeholde dokumentation og tutorials. Til windows skal man oftest have et static link library (*.lib), et dynamic link library (*.dll) og et sæt headere (*.h, *.hpp, *.hxx, og så videre), men det burde stå i dokumentationen.
Mange IDE'er har en pakke download og installerings funktion, som gør det nemt at hente nye udviklings pakker med det ovenstående. Code:: Blocks og Dev-CPP har denne feature.



Tak



t