用于在CGI应用程序中维护会话状态的最佳C / C ++库?

时间:2009-06-20 07:04:00

标签: c c++

我听说Boost和ACE是两个众所周知的C ++库。有哪些其他优秀的C / C ++库可用?

Boost和ACE是否支持使用C / C ++编写的Web应用程序的会话管理?

编辑:好的,我会尝试针对特定领域。我正在寻找一个C / C ++库,它可以帮助我维护基于C ++的CGI Web应用程序的会话状态。

8 个答案:

答案 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应用程序的会话状态。

CppCMS

答案 6 :(得分:1)

Poco是一个出色的C ++库,具有数据访问,xml,网络,压缩和加密功能,所有这些都包含在一个很好的小包中。

答案 7 :(得分:1)

明显提升,用于GUI的QT(我知道这不是一个明确的库),Electronic Arts Standard Template LibraryBlitz++如果你想进行科学计算:

  

Blitz ++是一个C ++类库   科学计算提供   性能与Fortran 77/90相当。

     

C ++编程语言提供   许多功能对解决有用   复杂的科学计算问题:   继承,多态,泛型   编程和运算符重载   是一些最重要的。   不幸的是,这些高级功能   带来了沉重的表现   pricetag:直到最近,C ++才落后   在Fortran的表现背后   任何地方从20%到十分之一。   因此,采用C ++   科学计算一直很慢。

     

有没有办法让C ++变得如此   我们可以保持高级语言   特色,但穷人   性能?这是目标   Blitz ++项目:开发技术   这将使C ++与竞争对手 - 和   在某些情况下甚至超过 - 速度   Fortran用于数值计算,   同时保留面向对象   接口。 Blitz ++数字   图书馆正在建设中   试验这些技术。

     

最近的基准测试显示C ++正在蚕食   Fortran的高性能稳步发展   垄断,以及一些基准,C ++   甚至比Fortran更快!这些   结果不是通过   更好地优化编译器,   预处理器或语言扩展,   但是通过使用模板   技术。通过使用模板   聪明地,优化,如循环   融合,展开,平铺和   算法专业化可以   在编译时自动执行   时间。

     

Blitz ++的另一个目标是扩展   传统的密集阵列模型   结合新的和有用的功能。   这种扩展的一些例子是   灵活的存储格式,张量   符号和索引占位符。