c++ 的良好组合 工具包/库,跨平台数据库(不一定是sql)
作为一个跨平台的“几乎无所不包”的抽象工具包/库,你有什么建议,不一定是面向 GUI 的?
该项目在某个时候应该包括一个极其最小的Web服务器和某种类型的“数据库”(基本上有索引/btree,也许是关系,所以rdbms是可取的,但如果有必要的话可以避免,sql可能有点过分)
我正在考虑qt、boost、tokyo Cabinet 和/或 sqlite; 还有什么? 什么是“最适合”?
我希望将平台定制和整体执行足迹保持在最低限度...
提前谢谢您
what do you suggest as a cross platform "almost all encompassing" abstraction toolkit/library, not necessarily gui oriented?
the project should at some point include an extremely minimal web server and a "db" of some sort (basically to have indexes/btrees, maybe relations, so a rdbms is desiderable but avoidable if necessarily, sql might be overkill)
i was thinking about qt, boost, tokyo cabinet and/or sqlite; what else? what is "best suited"?
i would like to keep platform customization and overall execution footprint at minimum...
thank you in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
对于最小的网络服务器,我认为使用 Boost 就可以了。 Asio 和 sqlite —— 它非常便携,并且应该拥有您需要的一切。 请记住,C/C++ 运行时还为许多事物提供可移植的抽象,因此请务必首先检查这些抽象(特别是在需要最小开销的情况下——使用 C 运行时函数可能比使用 Boost.Filesystem 更容易)。
For a minimal webserver, I think you're fine using Boost.Asio and sqlite -- it's quite portable, and should have everything you need. Remember that the C/C++ runtimes also provide portable abstractions for many things, so be sure to check those first (especially if a minimum overhead is required -- it might be simply easier to use C runtime functions than Boost.Filesystem).
您还可以将 Firebird 视为跨平台数据库
You can also look at Firebird as a cross platform database
你绝对应该看看 Poco。
You should definitely take a look at Poco.
出于我自己的类似目的,我使用 mongoose 进行网络服务,并使用 sqlite 用于数据库。 两者都是非常高质量的产品,但不幸的是都是用 C 编写的。但是,它们很容易嵌入到 C++ 应用程序中,并且我为它们编写了简单的 C++ 包装器。
For my own similar purposes I use mongoose for web serving and sqlite for the database. Both are very high-quality products, but unfortunately are written in C. However, they are very simple to embed in C++ applications, and I have written simple C++ wrappers for both of them.