qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          C語言CGI和Apache服務器的開發環境

          今天中午在研究c語言gui時看到了cgi。之前花了些時間找c語言的gui框架,也找到了幾個暫時比較滿意的,但是看到了cgi后覺得也可以嘗試一下。在web開發方面有點經驗,或許會簡單一些。Google了一下,現在討論cgi,尤其是c語言cgi的話題已經很少了,花了些精力,總算搭建好了一個可用的開發環境,也運行出了程序。下面簡單分享一下,我的實驗過程。其實是很簡單的事情。

            首先,需要用到的這些工具和代碼:

            C語言編譯器,我用了IDE(Vsiual C++ 2008 Express Edition,下面稱VC2008),其他編譯器(gcc、tcc等)也可;

            Apache服務器,我用的是USBWebSever中包含的Apache服務器(下載地址) ,這是個AMP服務器套裝,不用安裝即可使用,而本地安裝的Apche服務器也可以使用;

            cgic(下載地址 ),這是用ANSI C寫的一個cgi庫,這里用它提供的代碼來測試我們的運行環境,其他規范的c代碼也是可以的;

            接著,編譯C語言的cgi程序。

            在VC2008里面建一個Visual C++空項目;

            從剛才下載的cgic代碼壓縮包中提取cgic.h、cgic.c和cgictest.c三個文件,添加到新建的項目里面;

            打開當前項目的屬性頁(在解決方案資源管理器右擊項目名稱,選菜單中的屬性),在配置屬性-C/C++-預處理器中找到預處理器定義,添加WIN32;

            這時可以按F7生成解決方案,VC2008開始編譯代碼和鏈接,生成可執行文件(.exe)。報出若干警告,忽視之。這樣cgi程序就做好了。

            然后,配置和啟動Apache服務器。

            對于本地安裝的Apache服務,需要修改配置文件httpd.conf若干內容(參考文章鏈接),如下:

          1. ScriptAlias /cgi-bin/ "E:/apache2/Apache2/cgi-bin/"  
          2. <Directory "E:/apache2/Apache2/cgi-bin"> 
          3. AllowOverride None  
          4. Options ExecCGI  
          5. Order allow,deny  
          6. Allow from all  
          7. </Directory> 
          8. AddHandler cgi-script .exe .pl .cgi

            其中E:/apache2/Apache2/cgi-bin/要改成你準本放cgi程序的目錄。修改好httpd.conf后可能需要重啟Apache服務器

            對USBWebSever,似乎不用修改httpd.conf。如果需要,應該對settings目錄下的httpd.conf類比上面的內容進行修改,文中{rootdir}/cgi-bin/這類文字最好不要修改!修改好以后,雙擊USBWebSever.exe就可以啟動Apache服務器了。

            最好把剛才生成的cgi程序(.exe文件),復制放到上文中提到的/cgi-bin/目錄下,文件名最好改成index.cgi這樣的形式。對于USBWebSever,cgi-bin目錄應該是root目錄下的cgi-bin目錄(如果沒有要新建一個),不是和USBWebSever在同一目錄下的cgi-bin目錄。我的目錄結構是這樣的

            打開瀏覽器輸入http://localhost:8080/cgi-bin/index.cgi(地址取決于你自己的具體設置),就可以看到cgi程序已經運行了。

          posted on 2011-11-23 16:55 順其自然EVO 閱讀(556) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2011年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 怀远县| 明溪县| 化德县| 饶阳县| 河曲县| 宁武县| 宜黄县| 藁城市| 永宁县| 交口县| 井冈山市| 遂川县| 探索| 朝阳区| 翁牛特旗| 兴城市| 松江区| 延安市| 华坪县| 双峰县| 长垣县| 临颍县| 宝坻区| 喜德县| 霍山县| 隆林| 泗水县| 乌拉特后旗| 连南| 田东县| 苏尼特左旗| 社旗县| 青河县| 龙海市| 杂多县| 桐城市| 奉新县| 石渠县| 拉萨市| 江源县| 全椒县|