what do you suggest as a cross platform "almost all encompassing" abstraction toolkit/library, not necessarily gui oriented?
你有什么建议作为一个跨平台“几乎包罗万象”的抽象工具包/库,不一定是gui导向的?
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)
该项目在某些时候应该包括一个非常小的Web服务器和某种类型的“db”(基本上有索引/ btree,也许是关系,所以rdbms是可以想象的,但如果必要的话可以避免,sql可能有点过分)
i was thinking about qt, boost, tokyo cabinet and/or sqlite; what else? what is "best suited"?
我在考虑qt,boost,tokyo cabinet和/或sqlite;还有什么?什么是“最适合的”?
i would like to keep platform customization and overall execution footprint at minimum...
我想保持平台定制和整体执行足迹至少......
thank you in advance
先感谢您
4 个解决方案
#1
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).
对于一个最小的网络服务器,我认为你使用Boost.Asio和sqlite很好 - 它非常便携,应该拥有你需要的一切。请记住,C / C ++运行时也为许多事情提供了可移植的抽象,因此请务必先检查它们(特别是如果需要最小的开销 - 使用C运行时函数可能比Boost.Filesystem更容易)。
#4
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.
出于类似的目的,我使用mongoose进行Web服务,使用sqlite作为数据库。两者都是非常高质量的产品,但不幸的是用C语言编写。但是,它们很容易嵌入到C ++应用程序中,而且我已经为它们编写了简单的C ++包装器。
#1
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).
对于一个最小的网络服务器,我认为你使用Boost.Asio和sqlite很好 - 它非常便携,应该拥有你需要的一切。请记住,C / C ++运行时也为许多事情提供了可移植的抽象,因此请务必先检查它们(特别是如果需要最小的开销 - 使用C运行时函数可能比Boost.Filesystem更容易)。
#2
You can also look at Firebird as a cross platform database
您还可以将Firebird视为跨平台数据库
#3
You should definitely take a look at Poco.
你一定要看看Poco。
#4
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.
出于类似的目的,我使用mongoose进行Web服务,使用sqlite作为数据库。两者都是非常高质量的产品,但不幸的是用C语言编写。但是,它们很容易嵌入到C ++应用程序中,而且我已经为它们编写了简单的C ++包装器。