CGI 开发新秀之: eyBuild中文手册

haolee 2006-03-29 06:10:48
来自:
http://www.eybuild.com/develop/doc/manual/eybuild_manual_ch.htm
http://www.eybuild.com/develop/doc/manual/eybuild_manual_ch.pdf

第1章 序言
VB/JAVA/PHP等脚本直接嵌入在HTML中叫 ASP/JSP/PHP,那么用 C 直接嵌入在HTML中叫 CSP 吗?

是的, 现在我们可以直接将 C 语句嵌入在HTML中并叫它 CSP。C 语言天然好的"移植性/高效性/灵活性",一直以来都是最受程序员青睐的语言。现在用CSP 技术我们就可以轻松地将 C 语句直接嵌入到 HTML 源文件来快速编写CGI程序。

CSP VS cgilib:

传统的cgilib的直接使用标准函数printf等语句输出HTML代码。不但使得C程序和HTML程序交织的混乱不堪,还使得页面输出的流程控制变得异常复杂。现在ASP/JPS/PHP等几乎完全取代用cgilib。CSP与cgilib的开发模式不同,它充分吸取了ASP/JSP/PHP等以HTML/XML为模板嵌入脚本等诸多优点,并充分融合C语言的语言特性。使得CSP的开发变得快速、高效,并大大提了最终代码的可读性和维护性。CSP及其开发环境eyBuild是cgilib的继承和发展,同时目前也是开发高效率WEB应用的最佳选择。

一般工作步骤:

编辑好的 CSP 源程序,用eyBuild开发包提供的 CSP2BIN 工具将 CSP 源文件生成 C 程序的源文件,再链接上 eyBuild 提供的高效 CGI 运行库,就可以在各种平台生成移植性非常高的 CGI 程序。

To ASP/JSP/PHP 的程序员:

编写 CSP 程序就跟编写 ASP/JSP/PHP 一样,可以以先编写 HTML 文件为模板, 再在其中插入CSP 的语句。 甚至有些时候,就可以直接拿 ASP/JSP/PHP 的源文件稍加修改后作为 CSP 的源文件了,因为它们都用类似 <% 和 %> 的标签进行标记的嘛。 如果你是 ASP/JSP/PHP的程序员,并熟悉 C语言,半天时间你就能把 CSP 全学会。

To 嵌入式WEB开发:

CSP 设计的最原始的初衷,就是要为嵌入式开发定制的一套类似 ASP/JSP/PHP的C语言开发工具。 因为嵌入式设备(如路由器/交换机/VoIP网关PBX等)上用的开发语言主要是 C,而传统的 CGI 库 cgilib 以及开发模式远远不能跟上现代的开发需求。

现在 CSP 的eybuild开发环境提供的PC和嵌入式设备上高效移植的开发库,让服务器上应用和嵌入开发进行了有效统一,使得两者上的开发变得更为容易。 同时,优秀的跨平台的移植性也是eybuild的重要特性。

实践证明,CSP 及其开发工具 eybuild是嵌入式设备WEB开发的最理想工具,它能大大节缩短发周期(一般提高4-6倍),提高最终代码的可读性、可维护性(HTML 和 C 代码进行了有效的分离,所以代码维护更容易)。

高效的页面/图片/CSS集成技术:

通过eyBuild提供的集成技术,你可以把许多CSP/HTML页面集成生成到一个CGI中(包括页面相关的图片,CSS 文件及其它静态文件)。 甚至,你可以将一个小型的网站或WEB应用生成到一个CGI文件中,这使得最终的可执行脚本文件管理变得异常简单。 这一点在嵌入式设备上特别有用,因为它们中的很多只有有限的外存储器(如Flash ROM)和文件系统。 eyBuild为最后生成的 CGI 程序在其内部建立了虚拟目录,使得页面间的链接和引用跟一般HTML的编写方法一样,非常方便建立和维护。同时对服务器级应用,这也将是一个非常有利的选择。

可以直接调用任意 C 的函数

在 CSP 源程序中还可以非常容易地包含C 程序的头文件,这样在 HTML 代码中你就可以像写编写 C 文件一样调用外部函数或系统函数了,跟直接编辑 C 程序几乎没有差别。

CSP 的宏指令指示符 @

用宏指令指示符不仅可以进行包含 C 程序的头文件,还可以包含其它CSP文件。 这样当许多页面需要引用共通的一部分时(如页头/页脚或其它部分),包含其它 CSP 源文件这个功能显示特别有用。

有效的页面输出缓冲控制

跟 ASP/JSP/PHP一样,通过宏指令指示符还可以有效控制页面输出时的 MIME 头,页面缓冲区大小等等。这种使得页面上的流程控制变得更简单更直观。

...全文
331 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jspadmin 2006-03-31
  • 打赏
  • 举报
回复
怎么发到asp版来了?
给你转了
-----------------------------------------------------------------------
CSDN优秀版主评比,请各位兄弟支持我,谢谢-jspadmin
投票地址:http://community.csdn.net/Inquiry/143.htm

关于本次评比的详细情况:http://community.csdn.net/Expert/topic/4638/4638569.xml?temp=6.625003E-02
haolee 2006-03-31
  • 打赏
  • 举报
回复
贴段 CSP 的程序,
来自: http://www.eybuild.com
http://www.eybuild.com/develop/demoshow.htm

<html>
<% {{
char * title = "关于 eyBuild 综合演示程序";
%>
<head>
<meta http-equiv="content-type" content="text/html; charset=GB2312">
<title><% =title %></title>
</head>
<body>
来自: http://www.eybuild.com<br>
<font color=red><h3><% =title %></h3></font>
<br>
本程序包用于演示 eybuild/CSP 生成的 CGI 程序的执行.<br>
<p>
============<br>
<font color=red size=3>示例说明:</font><br>
============<br>
<% {
char pwd[256] = "";

_getcwd(pwd, sizeof(pwd));
%>
<table>
<tr><td width=250><a href=/cgi-bin/demo.cgi target=__blank><% =pwd %>\demo.cgi</a>
<td>一个最小的交互程序测试程序
<tr><td><a href=/cgi-bin/review.cgi target=__blank><% =pwd %>\review.cgi</a>
<td>一个简单的留言簿程序
<tr><td><a href=/cgi-bin/rweb.cgi target=__blank><% =pwd %>\rweb.cgi</a>
<td>远程WEB文件管理器, 可以自由浏览下载/上传文件
<tr><td><a href=/cgi-bin/fr40.cgi target=__blank><% =pwd %>\Fr40.cgi</a>
<td>是一个路由器的管理界面, 嵌入式应用的一个示例
</table>
<p>
<% } %>
============<br>
<font color=red size=3>运行步骤:</font><br>
============<br>
1. 解压到任意目录<br>
2. 运行WEB 服务器 webs.exe <br>
3. 从浏览器上输入或直接点击下面的CGI的地址:<br>
<% {
@include <undef.h>
@include <windows.h>
@include <direct.h>
@include <ebdef.h>
@include <ebio.h>

WIN32_FIND_DATA wfd;
HANDLE hfind = FindFirstFile("*.cgi", &wfd);

if (INVALID_HANDLE_VALUE != hfind) {
do {
if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
%>
    
<a href=<% =wfd.cFileName%> target=__blank>http://127.0.0.1/cgi-bin/<% =wfd.cFileName%></a><br>
<% }
} while (FindNextFile(hfind, &wfd));
} /* if */
}
}}
%>
<p>
============<br>
<font color=red size=3>关于WEB服务器:</font><br>
============<br>
<font color=red>如果你已经安装了 WEB 服务器(如Apache/IIS等), <br>
可以将 cgi-bin 目录中文件, 拷贝到相应的CGI目录中运行CGI演示程序</font><p>

为了便于演示 CSP CGI程序, eyBuild Group 修改了开源的 GoAhead Web 服务器(Windows版)<br>
打开WEB 服务器后, 直接从浏览器上输入同目录下 cgi-bin 目录中的文件名,<br>
即可打开示例程序.<P>
<body>
</html>
youzi520 2006-03-29
  • 打赏
  • 举报
回复
关注,新动态!
内容概要:本文针对三相并网逆变器在高比例新能源接入背景下的高性能控制需求,提出并研究了一种基于有源中点箝位(ANPC)三电平拓扑的复合控制策略。该策略深度融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术与电网电压前馈控制,旨在系统性地提升逆变器在稳态电能质量、动态响应速度及复杂电网工况适应性方面的综合性能。通过详细分析ANPC拓扑的硬件优势,如开关损耗均衡、中点电位可控性强及输出谐波含量低,为高性能控制奠定了物理基础。在此基础上,DPWMA调制通过等效倍频效应显著优化了输出波形,降低了总谐波畸变率;正负序分离锁相环有效解决了电网不平衡工况下的锁相失真问题,确保了精确的相位同步;电网电压前馈控制则突破了传统反馈控制的滞后性,实现了对电网扰动的快速预判与补偿。全文通过构建完整的Simulink仿真模型,在对称电网、不平衡电网以及电压突变等多种工况下进行了全面的性能验证,结果表明该复合控制策略能有效维持中点电位稳定、实现精准锁相、大幅抑制谐波与功率波动,并显著增强系统的动态抗扰能力和整体运行稳定性。; 适合人群:具备电力电子技术、自动控制理论及电力系统基础知识,从事新能源发电并网、大功率变流器控制算法开发或相关领域研究的工程技术人员及高校研究生。; 使用场景及目标:①应用于风电、光伏等新能源发电系统中的高性能并网逆变器控制设计;②为解决电网电压不平衡、骤升骤降等非理想工况下的并网稳定性与电能质量问题提供先进的技术方案;③指导基于ANPC等先进多电平拓扑的并网变流器控制算法开发、仿真建模与性能优化。; 阅读建议:建议结合提供的Simulink仿真模型进行实践学习,重点深入理解DPWMA调制的实现逻辑、正负序分离锁相环的设计原理以及前馈-反馈复合控制的协同工作机制,关注各关键模块的参数设计与整定方法,以全面掌握高性能并网逆变器控制系统的构建精髓。
内容概要:本文复现了硕士论文《可再生能源发电与电动汽车的协同调度策略研究》,并通过Python代码实现了其中的核心模型。研究聚焦于在高比例可再生能源接入的背景下,如何通过协同优化风电、光伏等间歇性电源与大规模电动汽车的充电行为,实现电力系统的削峰填谷、提升新能源消纳能力并保障电网运行稳定性。文中构建了一个综合考虑风光出力预测、电动汽车充电需求建模、电网负荷特性及分时电价机制的多目标优化调度模型,并采用先进的优化算法求解最优充放电策略,旨在降低电网负荷波动、减少弃风弃光现象以及用户充电成本。该资源不仅提供了完整的代码实现,还详细阐述了模型的设计逻辑与技术路径,具有较强的可复现性和扩展性。; 适合人群:具备一定Python编程基础和电力系统基础知识,从事新能源、智能电网、电动汽车或优化调度方向研究的硕士研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习并掌握可再生能源与电动汽车协同调度的基本建模方法与优化求解思路;② 复现经典硕士论文研究成果,用于课程设计、科研入门或项目原型开发;③ 基于提供的代码框架进一步扩展功能,如引入V2G(车辆到电网)机制、考虑电池损耗、分布式储能或更复杂的用户行为建模。; 阅读建议:建议读者结合文中提到的Matlab版本资源对照学习,重点关注模型构建的数学逻辑与算法实现细节,运行代码时注意检查所需依赖库(如NumPy、Pandas、SciPy或常用优化求解器)的安装与配置,鼓励通过修改参数设置、调整场景条件等方式进行仿真验证与结果对比分析,以深化对协同调度机制的理解。

2,203

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧