`
netpcc
  • 浏览: 6732 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

讨论C++模板引擎的可行性及需求

阅读更多
现在网上有许多C++的HTTP server引擎。比如论坛里的SPServer以及boost::asio。但是大家都知道,对于一个Web系统来说,HTTP服务器只是最基本的部分。光有HTTP服务器引擎根本无法有效完成一个web系统。
web系统的另一个重要部件就是模板引擎。但是C++缺乏良好的模板引擎。通过Google找到的只有Teng。但是Teng的数据集是基于字符串的。无法很方便的完成数据集到对象模型的映射。

boost给C++带来了巨大的灵活性。如果我们开发出一套能够很方便的映射到对象模型的模板引擎,和HTTP服务器结合在一起,那么是不是就可以方便的开发基于C++的web系统了呢。
基于C++的web系统是否有需求呢?比如C++程序的Web远程控制功能等。
分享到:
评论
12 楼 iunknown 2007-08-19  
cat 写道
嗯,IIS也有类似的功能,甚至默认每1740分钟recycle一次app pool, 不过总还是觉得不爽……


作为程序员,可能会觉得不爽。但是当遇到所谓的 web2.0 、永远 beta 版、进而导致每周至少上线一次的时候,就会觉得实在太需要这个用来擦屁股的东西了,没有了它还真的不行
11 楼 cat 2007-08-19  
iunknown 写道

呵呵,apache 的 prefork 模型差不多就是专门为这类问题来擦屁股的。出现 NullPointer 或者 MLK 的问题,最多就是某个子进程 core dump,其他的子进程照常服务。


嗯,IIS也有类似的功能,甚至默认每1740分钟recycle一次app pool, 不过总还是觉得不爽……
10 楼 pi1ot 2007-08-19  
没那么夸张,对性能要求不苛刻的话,连编译原理都基本上用不上。
9 楼 pi1ot 2007-08-19  
没那么夸张,对性能要求不苛刻的话,连编译原理都基本上用不上。
8 楼 iunknown 2007-08-19  
cat 写道
这种应用为啥要用C++啊…… 自讨苦吃
一个空指针dereference就可以让你的web server的进程crash, 还很容易memory leak什么的。


呵呵,apache 的 prefork 模型差不多就是专门为这类问题来擦屁股的。出现 NullPointer 或者 MLK 的问题,最多就是某个子进程 core dump,其他的子进程照常服务。
7 楼 iunknown 2007-08-19  
1.这里有一个 C++ 实现的模板引擎。
http://code.google.com/p/google-ctemplate/

2.如果要使用 C++ 来开发 web 应用,那么通常会直接用 apache 的 mod_cgi 或者 fastcgi 的方式。类似的 SPServer 中实现的嵌入式http服务器并不是准备用来做这方面的应用的。如果有需要的话,这类嵌入式 http 服务器通常可以用来实现 ajax 架构中的服务器端。

3.使用 C++ 来开发 web 应用,据我所了解的,在 webmail 这一块,目前国内很多的系统都是采用 C++ 开发的。包括像 163 这个目前国内最大的邮件服务提供商。
6 楼 七猫 2007-08-19  
这样的需求是有,但不会很大,主要是embeded http server和写CGI的人,但用C++写模板引擎的话困难比较大。C#和java都有模板引擎,C++要写的话工程量还不算小。
5 楼 pi1ot 2007-08-19  
噢,就是自己写的公司内部用的小工具,用的人不多,看到这个帖子表明一下吃饱饭没事干的态度而已
4 楼 cat 2007-08-18  
这种应用为啥要用C++啊…… 自讨苦吃
一个空指针dereference就可以让你的web server的进程crash, 还很容易memory leak什么的。


记得ATL有一部分叫做ATL Server也可以用,不过绑定在MS平台了。那种文件扩展名叫做srf.
http://msdn2.microsoft.com/en-us/library/2h0012a3(VS.80).aspx
http://www.polyduck.co.uk/Default.aspx?tabid=224

这个似乎也不是什么很好的东西。不过貌似有个比较大的项目还在用它写webservice和少数web page
3 楼 netpcc 2007-08-18  
楼上能否给出webdevlib::LibHtt 的相关链接?
2 楼 pi1ot 2007-08-18  
HTML 模板处理 C++ 类 webdevlib::LibHtt 使用说明

LibHtt (HTML Templet Class) 是一个分析处理输出 HTML 模板的 C++ 类,支持在 HTML 代码中嵌入自定义的简单条件分支、循环控制脚本语句 ,使得大部分仅与页面内容显示相关的逻辑控制转移到 HTML 模板中,简化 CGI 程序中的页面输出控制代码。
1 楼 gigix 2007-08-18  
吃饱了没事干

相关推荐

Global site tag (gtag.js) - Google Analytics