Ich habe gehört, dass es eine leichte Implementierung von Boost gibt, bei der es nur intelligente Zeiger und ein paar andere sehr grundlegende Dinge gibt. Ich glaube, ich habe gehört, dass es auch keine OS-Funktionen verwendet. Ich habe versucht, danach zu suchen, aber nichts gefunden. Weiß jemand, wie es heißt, oder eine Implementierung von boost gestylten Smart Pointers, die keine OS-Aufrufe erfordert?
Antworten
Zu viele Anzeigen?Sie können bcp verwenden, aber bedenken Sie, dass mit Bei den Boost-Bibliotheken zahlen Sie nur für das, was Sie verwenden - die intelligenten Zeiger sind alle nur als Header implementiert, d. h. es gibt keine Betriebssystemaufrufe, keine kompilierte Bibliothek, auf die gelinkt werden muss, usw. Wenn Sie also keinen Quellcode weitergeben, können Sie den gesamten Boost-Satz herunterladen und nur die Bits verwenden, die Sie benötigen, ohne Ihrer Anwendung (ungefragt) Kummer zu bereiten.
Sie können die bcp-Dienstprogramm um nur die Teilmenge des vollständigen Baums zu extrahieren, die Sie zur Unterstützung einer bestimmten Bibliothek benötigen. Ich bin mir nicht bewusst, jede freistehende stripped-down Boost Implementierung aber.
"boost lite" wird im Allgemeinen verwendet, um sich auf eine Art der boost-Nutzung zu beziehen, bei der man sich auf die boost-Komponenten beschränkt, die "nur Header" enthalten. Dazu gehören also die umfangreichen Smart-Pointer-Header und boost::bind, nicht aber Dinge wie regex oder program_options, bei denen man mit einer Bibliothek linken muss, um die meisten Funktionen zu erhalten.
Wenn Sie .libs bauen und freigeben, bedeutet der boost-lite-Stil, dass Sie keine Link-Abhängigkeit von den boost-Libs einführen (weniger Ärger für nachgeschaltete Benutzer), und wenn Sie die Pimpl-Idiom Sie können intern einfach Smart-Ptrs usw. verwenden, und die Benutzer der Bibliothek sehen nicht einmal die Boost-Typen in Ihren Headern. Dies kann eine nützliche Change-Management-Technik sein, um boost in konservativen Umgebungen heimlich einzuführen.
d.h. es ist nur eine besondere Art und Weise, eine normale Boost-Installation zu verwenden, nicht ein separates Paket.
Die intelligenten Zeiger sind Teil der tr1-Erweiterungen der Standardbibliothek . Wenn Ihr Compiler-Anbieter es enthält, wäre das wahrscheinlich der richtige Weg. Ich weiß von gcc und Visual Studio 2008 für 2 Beispiele, wo sie unterstützt werden.
Boost verwenden mit bcp ankurbeln
- See previous answers
- Weitere Antworten anzeigen