Ich empfahl meinem Freund die Bibliotheken im Buch Numerical Recipes. Es scheint jedoch, dass sie zu anspruchsvoll für ihn sind.
Ich bin nicht sicher, welche Bibliotheken die besten für einen Neuling in C / C ++ sind.
Welche Bibliotheken sollte ein C oder C ++ Neuling kennen?
Da es keine solche Sprache wie "C / C ++" gibt, sind die Antworten, die Sie hier erhalten, wahrscheinlich nicht sehr nützlich. C-Programme können die C ++ - Bibliotheken nicht verwenden, und C ++ - Programme haben wahrscheinlich bessere Alternativen zu allen vorgeschlagenen C-Bibliotheken.
Die, die in der C Standard Library und C ++ Standard Library ein Muss ist (und wie Neil in seiner Antwort erwähnt, stellen sie sicher, dass sie den Unterschied zwischen C und C ++ verstehen). Abgesehen davon sollte er diejenigen lernen, die er für ein Projekt verwenden wird.
Ich lasse out Boost aus zwei Gründen: 1) ich es nicht betrachten erforderlich von newbs und 2) Ein großer Teil davon ist geplant, einmal in der Standardbibliothek zu walz C++0x ersetzt den alten Standard.
Ich unterrichte C in einer Highschool in Italien.
Während 2 Jahren, sobald sie den Kern der Sprache bekommen haben
(Zeiger und Ströme in C),
Studenten müssen eine andere Bibliothek lernen und
"zeige und erzähle" einige Beispiele.
Bibliotheken werden je nach ihren Interessen vergeben
und Fähigkeiten.
einige Beispiele:
Computergrafik - & gt; freeimage.de
Textanpassung - & gt; Regex
Spiel - & gt; allegro
Vernetzung - & gt; Steckdose
Datenbank - & gt; sqllite
und so weiter ...
Grundsätzlich denke ich sobald du die Sprache verstehst
(und auch die Datenstrukturen ...) muss es sein
"Zeit zum Spaß" und folgen Sie Ihren Neigungen.
Für C:
Für C ++:
Denken Sie auch daran, dass Sie, wenn Sie etwas wie C oder C ++ (oder sogar Java) lernen, nicht wirklich die "Sprache" lernen, in der Sie die "Plattform" lernen. Wählen Sie eine Plattform mit allen grundlegenden Komponenten, die Sie benötigen, wenn Sie eine echte App schreiben und nicht mit der Syntax herumspielen. Um eine Sprache effizient und effizient zu beherrschen, müssen Sie wirklich wissen, welche Werkzeuge Sie haben, und die einzige Möglichkeit besteht darin, gute Beispiele bereits existierender Toolkits zu verwenden. Meine 2 Cent sowieso.
Um reines C zu codieren, soll er zum Beispiel mit ncurses beginnen. Es macht Spaß.
Offensichtlich ist die Standard-C-Bibliothek (gute Dokumentation davon ist Ссылка ). Ansonsten hängt es wirklich davon ab, welche Art von Sachen dein Freund machen möchte.
Wenn er wirklich numerisches Zeug machen will (und viel Wert auf Leistung legt), dann ist libblas genau das, was er will Ссылка .
Für C: string.h (für Funktionen wie strcpy, strcmp, memcpy und dergleichen) und stdio.h (für printf und Freunde).
In Bezug auf C ++ ist die Boost-Bibliothek ( Ссылка ) die meistgenutzte Bibliothek, also sollten Sie mit einem Blick dorthin beginnen, wenn Sie es bereits wissen C ++ (im Gegensatz zu dem, was ich in einigen der vorherigen Antworten gesehen habe, müssen Sie verstehen, dass die STL jetzt Teil des Standards und somit Teil der C ++ - Sprache ist).
Es gibt zu viele andere Bibliotheken, die man auswählen kann, alle hängen davon ab, was man produzieren will, wenn es etwas gibt, das man "wissen" muss, wird es zweifellos eine GUI-Bibliothek sein und wenn es Ihnen nichts ausmacht, versuchen Sie es Wenn man sich das Qt (www.qtcentre.org) ansieht, würde man ein fast vollständiges Toolset bekommen.
Denken Sie daran, dass Sie, bevor Sie etwas Zeit mit dem Erlernen einer neuen API investieren, diejenigen auswählen sollten, die nicht zu neu sind und wirklich kostenlos sind, ohne Einschränkungen und ohne Plattformsperre, einschließlich der GPL-Lizenz, da Sie sich darauf beschränken GPL-Code erstellen.
Ich würde empfehlen, in die ACE-Bibliotheken zu schauen, besonders wenn Sie in die verteilte und plattformübergreifende Entwicklung einsteigen wollen. Es ist vielleicht ein bisschen viel für einen "Neuling", aber es ist ein großartiger nächster Schritt nach dem Lernen von STL und Boost. ACE bietet auch implementierte Entwurfsmuster.