[转] CSP/eybuild FAQ -- 常见问题
newzy 2006-11-30 10:10:49 CSP/eybuild FAQ
--常见问题
目 录
1. 关于CSP/eybuild 2
1.1. 什么是CSP/eybuild? 2
1.2. CSP/eybuild是开源和免费的吗,如何获取? 2
1.3. CSP/eybuild适合我吗,它需要什么基础? 2
1.4. 如何学习使用CSP/eybuild,需要哪些基础? 2
1.5. CSP/eybuild支持C++吗? 3
1.6. 用CSP/eybuild比传统的C开发CGI有何优越性? 3
1.7. 为什么说CSP/eybuild是嵌入式设备WEB开发的最佳选择? 3
2. CGI相关问题 4
2.1. 什么是CGI,CSP/eybuild与CGI有什么关系? 4
2.2. eybuild生成的CGI运行时需要解释器吗? 4
2.3. CSP/eybuild支持FastCGI吗? 4
2.4. eybuild生成的CGI适合哪些WEB服务器? 4
2.5. eybuild生成的CGI可用于哪些软件、硬件系统? 4
3. CSP相关问题 5
3.1. CSP是一种新的语言吗,文件的后缀必须是.csp吗? 5
3.2. CSP中能直接嵌入C++的语句吗? 5
3.3. 在文件编译器UltraEidt中如何高亮显示 CSP的语法? 5
3.4. CSP脚本引擎是怎么回事? 5
3.5. 如何在Windows配置和使用CSP脚本引擎? 6
3.6. 如何在Linux等使用脚本引擎? 6
4. Windows上的配置与编译 7
4.1. 如何在Windows上安装CSP/eybuild开发环境? 7
4.2. 如何在VC++ 6中配置编译环境? 7
4.3. 在VC++ 7、VC++ 8中配置编译环境? 7
4.4. 什么是project-map工具,如何配置和使用? 8
5. Linux上的配置与编译 8
5.1. 如何在Linux上安装CSP/eybuild开发环境? 8
5.2. 如何配置项目的Makefile? 8
5.3. 如何配置交叉编译环境的Makefile? 9
...
1. 关于CSP/eybuild
1.1. 什么是CSP/eybuild?
CSP是C Language Service Page 的缩写,它是一种基于C/C++语言的脚本开发技术。跟ASP、JSP、PHP等类似,我们可以直接将C/C++语句嵌入到HTML/XML等模板文件中来编写动态网页。
eybuild是CSP脚本及其相关开发套件的总称。它能自动将CSP页面及其相关文件(CSS/JS/GIF/JPG等)编译成C/C++源程序,并链接eybuild平台库生成可以在目标系统上直接执行的CGI程序。另外,CSP/eybuild为CGI应用程序开发提供了很多高级功能,如多文件同时上传、虚目录、数据压缩、脚本引擎、平台移植等特性。
1.2. CSP/eybuild是开源和免费的吗,如何获取?
CSP/eybuild不是一个开源的项目,如果你是个人使用或出于学习、研究目的你可以从eybuild的官方站点http://www.eybuild.com 免费下载,或发邮件到 eybuild@hotmail.com 免费索取。
如果你想在你的嵌入式设备的开发板上试用或出于学习和研究目的,你也可把您目标板及编译环境的详细资料发给eybuild@hotmail.com,请求为你的目标板单独制作一份交叉编译开发的CSP/eybuild平台。
如果你想你的商用产品或项目中使用CSP/eybuild,你必须在CSP/eybuild的商用授权后才可使用。商用授权后您将可以得到很好的技术支持和技术培训。关于商用授权的详细流程,可邮件至eybuild@hotmail.com垂询。
1.3. CSP/eybuild适合我吗,它需要什么基础?
CSP/eybuild是一个专注于用C语言进行WEB产品开发的开发工具。它秉承了特C/C++语言的通用、高效、灵活等特性,生成的CGI程序具有高效、高可靠、精巧等特性。适用下列项目和用户:
1. 嵌入领域设备开发
2. 服务器WEB应用,尤其对性能有高目标追求的WEB应用
3. 具有一定C语言基础,希望用C进行WEB开发的用户
4. 以学习和研究为目或希望深入理解WEB技术的学生、开发人员、研究机构
1.4. 如何学习使用CSP/eybuild,需要哪些基础?
使用CSP/eybuild需要具备下列基础:
1. 熟悉C/C++语言,具有一定的Windows或Linux上的C/C++开发经验
2. 有一定的WEB技术基础,并能熟练应用HTML、CSS、JavaScript
3. 熟悉B/S(Browser/Server)开发模型
在使用CSP/eybuild之前请先读下《CSP/eybuild中文手册》,其中包含很多使用示例。另外,很多问题的答案在本FAQ中都能找到。
1.5. CSP/eybuild支持C++吗?
是的,CSP/eybuild不仅对C有很好的支持,对C++也有同样好地支持。在CSP源文件中你可以随意嵌入C或C++。只要编译时加“-cpp”选项即可。请参阅本FAQ中Windows/Linux上的配置与编译的相关章节。
1.6. 用CSP/eybuild比传统的C开发CGI有何优越性?
传统用C做CGI的方法是直接使用printf() 等标准I/O函数输出HTML代码,这样不但使得C程序和HTML程序交织的混乱不堪,还使得页面输出的流程控制变得非常复杂。CSP与之不同,它充分吸取了ASP/JSP/PHP等以HTML/XML为模板嵌入脚本语言优点,并充分融合C语言的语言特性。使得CSP的开发更快速、更高效,同时还大大提了最终代码的可读性和维护性。
1.7. 为什么说CSP/eybuild是嵌入式设备WEB开发的最佳选择?
CSP 设计的最原始的初衷,就是要为嵌入式开发定制的一套类似 ASP/JSP/PHP的C语言开发工具。针对设备WEB开发CSP提供了丰富的平台库和开发工具,它们为设备系统的WEB交叉开发和移植提供了有力的支持。交叉开发是指在一个系统直接开发和调试另一个系统上的应用。通过交叉开发,可以在其它硬功件平台完全未准完毕的情况下进行高层软件的开发。这不仅能为产品开发有效地节约软硬件资源,还为WEB程序提供简单有效地调试工具。
2. CGI相关问题
2.1. 什么是CGI,CSP/eybuild与CGI有什么关系?
CGI是Common Gateway Interface(通用网关接口)的简称,是WEB服务器与WEB应用程序间的一个协议标准。它规定:CGI程序可以从系统环境变量和标准输入获取输入,CGI程序可以通过标准输出进行输出。这样,CGI应用程序不仅可以用C/C++等高级语言进行开发,还适合各种脚本语言进行开发(如: PERL等)。
CSP/eybuild是一个严格遵守CGI/1.1标准的CGI程序的开发工具。它不像传统的CGI开发方式,在程序代码中直接使用标准输出函数将HTML/XML代码逐行地输出;而是像ASP/JSP/PHP等一样允许直接将C/C++程序代码嵌入到HTML/XML模板文件中。同时,它还能为动态页面和静态文件在一个CGI程序中生成目录,即将若干动态和静态文件集成到一个CGI程序中。如将一个设备上的整个管理程序集成在一个CGI程序中。
2.2. eybuild生成的CGI运行时需要解释器吗?
不需要。eybuild生成的CGI就是一个可以执行的二进制机器码,所以它不需要任何脚本解释器或脚本引擎。正因为如此,才能具有非常高的执行效率。
2.3. CSP/eybuild支持FastCGI吗?
是的,CGI/eybuild开发应用程序对FastCGI具有非常好地支持,而且全部代码都可以在线程中安全调用。CSP/eybuild为支持FastCGI做了非常精巧地设计,你只要在原来的CGI程序中加入几句代码就可以变成FastCGI程序。另外,CSP/eybuild还提供的编译选项HAVE_FASTCGI,可以使原有的CGI源程序在不作任何修改的情况下在CGI与FastCGI程序间切换,这使得编写FastCGI程序更容易
2.4. eybuild生成的CGI适合哪些WEB服务器?
因为CSP/eybuild是严格遵循CGI/1.1标准,所以它生成的CGI程序可以适合所有流行的支持CGI/1.1标准的WEB服务器。如Apache、IIS、lighttpd、boa、goAhead、thttpd、mini-httpd等。在Linux/Unix系统中只要正确地设置CGI的执行权限,它就能正常运行。
2.5. eybuild生成的CGI可用于哪些软件、硬件系统?
CSP/eybuild严格遵守ANSI C标准,并为各种软硬件系统提供了平台抽象。所以它可以适合目前流行的各种软硬件系统。硬件平台支持:x86、ARM、MISP、PPC等。软件平台支持:Windows、WinCE、Linux、Unix、VxWorks、Palm OS 、pSOS、eCos、ThreadX、μC/OS-II等。