我听说Boost和ACE是两个众所周知的C ++库。有哪些其他优秀的C / C ++库可用?
Boost和ACE是否支持使用C / C ++编写的Web应用程序的会话管理?
编辑:好的,我会尝试针对特定领域。我正在寻找一个C / C ++库,它可以帮助我维护基于C ++的CGI Web应用程序的会话状态。
答案 0 :(得分:7)
当您尝试使用C ++构建Web应用程序时,我建议使用Wt,这是一个类似Qt的框架,用于在C ++中创建Web应用程序。 它在每个会话的一个进程中处理会话(当安全性很重要时)或每个进程多个会话。 您可以使用内置的Web服务器,也可以将其与任何支持FastCGI的Web服务器一起使用。
(另外,我推荐它通过Boost.CGI,因为它似乎得到维护和功能完整)。
答案 1 :(得分:5)
取决于您是在谈论通用或域特定库。对于一般用途,Boost是最好的(并且不要忘记好的旧STL),所以我没有看到寻找其他东西的重点,这些东西将涵盖大部分相同的地面,但不是那么精致。至于域特定,您必须指定域: - )
答案 2 :(得分:4)
如果您对C(非C ++)感兴趣,glib(Gnome项目的实用程序库)提供了许多有用的数据结构和构造。
答案 3 :(得分:2)
C ++拥有您可以想象的任何库,因此您的问题的范围是未定义的。你有什么兴趣? Web应用程序,科学程序,GUI?如果你想要一个好的答案,请准确说明你需要的东西。
Boost是一个用于相对低级别事物的通用库。虽然它相当复杂和先进,所以在开始之前你应该很好地掌握C ++。 ACE主要用于线程/进程/应用程序之间的同步和通信。
如果您需要网络应用程序,我建议您强烈考虑您选择的语言。 C ++可能不是最好的方向,除非你有非常具体的约束力强迫你的手。
答案 4 :(得分:2)
如果您需要gui或使用unicode,还有GTK。 (尽管c++0x在标准完成时本身应该有更好的unicode支持。)
Boost尚未支持会话,但已提议CGI library应该有会话。
如果要将C ++用于Web应用程序,请考虑使用CGICC
答案 5 :(得分:2)
好的我会尝试针对特定领域。我正在寻找一个C / C ++库,它可以帮助我维护基于C ++的CGI Web应用程序的会话状态。
答案 6 :(得分:1)
Poco是一个出色的C ++库,具有数据访问,xml,网络,压缩和加密功能,所有这些都包含在一个很好的小包中。
答案 7 :(得分:1)
明显提升,用于GUI的QT(我知道这不是一个明确的库),Electronic Arts Standard Template Library和 Blitz++如果你想进行科学计算:
Blitz ++是一个C ++类库 科学计算提供 性能与Fortran 77/90相当。
C ++编程语言提供 许多功能对解决有用 复杂的科学计算问题: 继承,多态,泛型 编程和运算符重载 是一些最重要的。 不幸的是,这些高级功能 带来了沉重的表现 pricetag:直到最近,C ++才落后 在Fortran的表现背后 任何地方从20%到十分之一。 因此,采用C ++ 科学计算一直很慢。
有没有办法让C ++变得如此 我们可以保持高级语言 特色,但穷人 性能?这是目标 Blitz ++项目:开发技术 这将使C ++与竞争对手 - 和 在某些情况下甚至超过 - 速度 Fortran用于数值计算, 同时保留面向对象 接口。 Blitz ++数字 图书馆正在建设中 试验这些技术。
最近的基准测试显示C ++正在蚕食 Fortran的高性能稳步发展 垄断,以及一些基准,C ++ 甚至比Fortran更快!这些 结果不是通过 更好地优化编译器, 预处理器或语言扩展, 但是通过使用模板 技术。通过使用模板 聪明地,优化,如循环 融合,展开,平铺和 算法专业化可以 在编译时自动执行 时间。
Blitz ++的另一个目标是扩展 传统的密集阵列模型 结合新的和有用的功能。 这种扩展的一些例子是 灵活的存储格式,张量 符号和索引占位符。