贴段 CSP 程序给大家看看, CSP 源程序就长这个样:<CENTER><STRONG>Software Version: 1.09</STRONG></CENTER><BR>
<%
@include <stdlib.h>
@include "../usr/menu.h"
%><%
{
    int         i, j, k;
    int         subnum=0, cnt=0;    MENU_NODE menu_basic_setting[] = {
        {0, "SETTING", ""},
            {0, "Rate Setting", "/setting/rate_setting.htm"},
            {0, "Error Correction Setting", "/setting/error_correction_setting.htm"},
            {0, "IP Setting", "/setting/ip_setting.htm"},
            {0, "Initialization Setting", "/setting/init_setting.htm"},
    };    MENU_NODE menu_status[] = {
        {0, "STATUS", ""},
            {0, "Version Information", "/status/version_info.htm"},
            {0, "Equipment Status", "/status/device_status.htm"},
            {0, "Statistics", "/status/network_statisics.htm"},
            {0, "Status Lists", "/status/status_list.htm"},
    };
    ...    /* list menu node */
    MENU_MANI_NODE nodes[] = {
        MENU_ADD_NODE(menu_basic_setting),
        MENU_ADD_NODE(menu_status),
        ...
        MENU_ADD_NODE(menu_maintenance),
    };%><%  for (i=0; i<ARRAYNUM(nodes); i++) { %>
<TABLE cellSpacing=0 cellPadding=3 width=187 border=0>
  <TBODY>
  <TR bgColor=#000080>
    <TD colSpan=2><FONT color=#ffff00><STRONG>&nbsp;<%
        =(nodes[i].subnode->pagename) %></STRONG></FONT>
  </TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=1 bgColor=#e6e6fa border=0 width="187">
  <TBODY>
    <%  /* not include it self  */
        for (j=0; j<(int)nodes[i].sub_num-1; ) {
            MENU_NODE * p_node = nodes[i].subnode+j+1;            /* show sub menu */
            if (subnum > 0) {
                for (k=0; k<subnum; k++, j++, cnt++) {
    %>  <TR>
    <TD>&nbsp;</TD>
    <TD><TABLE><TR height=16>
        <TD vAlign=center noWrap align=left width=25><NOBR><IMG height=14
          src="<% =romPrefix(NULL) %>/img/hekomi.jpg" width=14 name=glint<%
                %print("%d", cnt)%>><A
          onmouseover="document.images['glint<%%print("%d", cnt)%>'].src='<%
                =romPrefix(NULL) %>/img/orange.jpg'"
          onmouseout="document.images['glint<%%print("%d", cnt)%>'].src='<%
                =romPrefix(NULL) %>/img/hekomi.jpg'"
          href="<% =cgiPrefix(NULL) %><% =((p_node+k)->url)
            %>" target=opr>&nbsp;<% =((p_node+k)->pagename) %></A>
        </TABLE>
    </TD>
  </TR>
    <%              } /* for k=0 */
                } else {
    %>  <TR>
    <TD vAlign=center noWrap align=left width=22><NOBR><IMG height=16
      src="<% =romPrefix(NULL) %>/img/stat.jpg" width=16 name=glint<%
            %print("%d", cnt)%>></NOBR> </TD>
    <TD vAlign=center noWrap align=left><A
      onmouseover="document.images['glint<%%print("%d", cnt) %>'].src='<%
            =romPrefix(NULL) %>/img/dyn.jpg'"
      onmouseout="document.images['glint<%%print("%d", cnt)%>'].src='<%
            =romPrefix(NULL) %>/img/stat.jpg'"
      href="<% =cgiPrefix(NULL) %><% =(p_node->url)
        %>" target=opr><% =(p_node->pagename) %></A>
    </TD>
  </TR>
    <%              cnt ++, j++;
                } /* if p_node->sub_num > 0 */                subnum = p_node->sub_num;
            } /* for j=0 */ %></TBODY>
</TABLE>
<% 
} /* for i=0 */  
}
%>

解决方案 »

  1.   

    p
    什么意思?
    asp
    jsp
    php
      

  2.   

    不错啊!很应该提倡,百家争鸣的XSP语言。
      

  3.   

    不过习惯了PHP+SMARTY再看这些混在一起的,不管什么CSP还是JSP,还真有点不习惯,呵呵。
      

  4.   

    gu1dai(异域苍穹.百年飞行) ( ) 信誉:110  2006-3-14 16:22:01  得分: 0  p
    什么意思?
    asp
    jsp
    php
    =================================
    哈哈,P么应该是Page的意思吧。
      

  5.   

    TO 嵌入式WEB开发: 
    CSP 设计的最原始的初衷, 就是要为嵌入式开发定制的一套类似 ASP/JSP/PHP的C语言开发工具. 因为嵌入式设备(如PDA/路由器/交换机等)上用的开发语言主要是 C, 而传统的 CGI 库 clib 以及开发模式远远不能跟上现代的开发需求. 
    现在 CSP 的eybuild开发环境提供的PC和嵌入式设备上高效移植的开发库, 让服务器上应用和嵌入开发进行了有效统一, 使得两者上的开发变得更为容易. 同时, 优秀的跨平台的移植性也是eybuild的最主要特性之一.
      

  6.   

    这个严格来说只是C语言CGI用于WEB开发的模板技术
      

  7.   

    photo123(烂柯居士) ( ) 信誉:115  2006-03-23 10:31:00  得分: 0  
     
     
       这个严格来说只是C语言CGI用于WEB开发的模板技术
     ---------------------------------------------------
    赞成!
      

  8.   

    http://blog.csdn.net/newzy/category/192741.aspx
      

  9.   

    见过
    一方面没形成一个社群,另一方面,C确实没PHP等脚本语言方便
      

  10.   

    经过对FastCGI组件的近 1 个月的严密测试, 
    现在我可以非常自信地告诉大家, eybuild 0.8.4版 已经对 FastCGI 有了非常完美的支持. 
    原有的代码, 只要中只要加上如下两句, 就可以在CGI 和 FastCGI 之间进行切换使用, 其它原代码原幅不动:#ifdef HAVE_FASTCGI
        BEGIN_FASTCGI_LOOP();
    #endif /* HAVE_FASTCGI */#ifdef HAVE_FASTCGI
        END_FASTCGI_LOOP();
    #endif /* HAVE_FASTCGI */请这里下载 eybuild 0.8.4版:
    http://www.eybuild.com/develop/download/eybuild-00-08-04.tar.gz中文手册 0.4: 
    http://www.eybuild.com/develop/doc/manual/eyBuild_manual_ch.htm
    http://www.eybuild.com/develop/doc/manual/eyBuild_manual_ch.pdf
      

  11.   

    下了个demo,里面都是可执行文件,是不是csp最后还是要编译成可执行文件的,如果这样的话,那跟C/C++ CGI就没分别了啊老兄,这就不能叫csp,应该叫类C脚本翻译器,把csp翻译成c,然后编译了,如果能做成直接解析就直接运行那就好了,就跟php一样,有自己的语法,有自己的运行机制,要么做成跟java一样,用虚拟机运行脚本
      

  12.   

    没感觉有啥新鲜的 传说中PHP就是这么来的 如果在WEB应用中愿意写C 那直接写ISAPI多好 
    再着写PHP扩展也可以ASP PHP JSP 都是由其他语言发展来的 俺只会PHP所以只说PHP PHP和C比起来要灵活的多 如果PHP也要求声明变量类型和长度的话 那早没人用PHP了 把C和HTML混在一起写 哎 拿牛刀杀鸡也许说的就是这个 J2EE为啥火 是有道理的 不需要关心底层良好的DB支持 灵活的可扩展 最重要的是开发周期短 这都是PHP没法比的