DyBin:C/C++通往动态网页的桥梁
目前C/C++传统的web开发方法有FastCGI,编写专用组件等,这些方式是将源文件编译成可执行文件(exe)或模块(dll),当web服务器软件(Apache,IIS等)启动或从web访问特定的文件时加载运行指定程序达到输出页面内容的目的。但这些方法都有如下的缺点:
1.当可执行文件或模块文件运行时,系统是不允许替换他们的,但我们在编写程序时是要经常进行修改源码、编译连接(简称编连)、测试、再修改源码……等周而复始的工作,如果系统不让我们用新的程序替换旧的程序,那只能是先关闭以执行的程序甚至是服务器软件(Apache,IIS等),再用新程序替换他们,然后启动服务器软件,在进行测试。如此这般折腾再好的心情估计最后剩下的也只是砸电脑的心了。
2.调试不方便,FastCGI和模块都是由服务器软件运行的,如果不经过特殊的设置和操作,调试软件是得不到调试信息的,更谈不上调试了。
3.工程组织不方便,现在流行的做法是一个web页面由一个或多个源文件为其服务或得到内容或处理数据各司其职,程序文件各自独立。可目前的C++ IDE建立一个工程的做法是将多个源文件组合到一个程序文件中,要想实现一个页面对应一个文件必须要建立多个工程或使用MakeFile。如50个页面由50个程序文件生成,那就要建立50个工程,这样全部编译之后才能得到50个程序文件;使用MakeFile是一个不错的选择只是维护较为麻烦。
4.跨平台,跨平台是一个大话题,大致分为跨操作系统平台和跨硬件平台,由于C++编连后的程序完全依赖具体的硬件和系统,所以对C++来说跨平台大多数指源码级的(高效的代价),切换平台必须重新编译源码。
DyBin是专为C++开发动态网页而研发的工具包,他可以解决传统C++开发web的不便。主要的功能有:
1.使编写C++程序回到修改源码、编连、测试的正常工序上。DyBin在不需要重启服务器软件的情况下自动完成检测程序更新、载入、完成初始化等工作。
2.DyBin可以方便的调试C++程序,可以将调试信息通过TCP/IP发送到指定的电脑。
3.DyBin可以调试进程级的程序或线程级的程序。调试进程级的程序,进程将停止工作等待调试命令;调试线程级的程序只有被调试线程停止工作,其他线程不受影响。
4.工程组织灵活,可以将一个工程中的所有源程序文件生成与页面相对应的独立程序,一个源文件只输出一个页面内容,方便工程管理;也可以将多个源文件打包成一个功能库,方便调用。工程的分与合任你指挥。
5.DyBin将C++跨平台的功能加强了一点点,只要程序不针对操作系统平台(如调用系统专用的API,使用系统专有的特征等),那C++编连后的程序就可以跨操作系统平台,如在win32平台编连的DyBin程序,可以复制到linux 32bit系统下直接使用,不需要为linux重新编连程序。
6.使用内存池及资源池为C++程序分配内存及各种资源,当程序运行完毕后自动将资源回收,不存在内存及资源的泄露情况。
DyBin目前处在原型阶段,他的成长离不开您的鼓励与支持。
感兴趣的朋友可以在以下网站找到最新版:
http://weichanhary5962.download.csdn.net/
http://iask.sina.com.cn/u/1893414443/ish
我的邮箱:dybin_wcj@163.com
附上一个截图