C語(yǔ)言CGI和Apache服務(wù)器的開(kāi)發(fā)環(huán)境
今天中午在研究c語(yǔ)言gui時(shí)看到了cgi。之前花了些時(shí)間找c語(yǔ)言的gui框架,也找到了幾個(gè)暫時(shí)比較滿意的,但是看到了cgi后覺(jué)得也可以嘗試一下。在web開(kāi)發(fā)方面有點(diǎn)經(jīng)驗(yàn),或許會(huì)簡(jiǎn)單一些。Google了一下,現(xiàn)在討論cgi,尤其是c語(yǔ)言cgi的話題已經(jīng)很少了,花了些精力,總算搭建好了一個(gè)可用的開(kāi)發(fā)環(huán)境,也運(yùn)行出了程序。下面簡(jiǎn)單分享一下,我的實(shí)驗(yàn)過(guò)程。其實(shí)是很簡(jiǎn)單的事情。
首先,需要用到的這些工具和代碼:
C語(yǔ)言編譯器,我用了IDE(Vsiual C++ 2008 Express Edition,下面稱VC2008),其他編譯器(gcc、tcc等)也可;
Apache服務(wù)器,我用的是USBWebSever中包含的Apache服務(wù)器(下載地址) ,這是個(gè)AMP服務(wù)器套裝,不用安裝即可使用,而本地安裝的Apche服務(wù)器也可以使用;
cgic(下載地址 ),這是用ANSI C寫(xiě)的一個(gè)cgi庫(kù),這里用它提供的代碼來(lái)測(cè)試我們的運(yùn)行環(huán)境,其他規(guī)范的c代碼也是可以的;
接著,編譯C語(yǔ)言的cgi程序。
在VC2008里面建一個(gè)Visual C++空項(xiàng)目;
從剛才下載的cgic代碼壓縮包中提取cgic.h、cgic.c和cgictest.c三個(gè)文件,添加到新建的項(xiàng)目里面;
打開(kāi)當(dāng)前項(xiàng)目的屬性頁(yè)(在解決方案資源管理器右擊項(xiàng)目名稱,選菜單中的屬性),在配置屬性-C/C++-預(yù)處理器中找到預(yù)處理器定義,添加WIN32;
這時(shí)可以按F7生成解決方案,VC2008開(kāi)始編譯代碼和鏈接,生成可執(zhí)行文件(.exe)。報(bào)出若干警告,忽視之。這樣cgi程序就做好了。
然后,配置和啟動(dòng)Apache服務(wù)器。
對(duì)于本地安裝的Apache服務(wù),需要修改配置文件httpd.conf若干內(nèi)容(參考文章鏈接),如下:
|
其中E:/apache2/Apache2/cgi-bin/要改成你準(zhǔn)本放cgi程序的目錄。修改好httpd.conf后可能需要重啟Apache服務(wù)器
對(duì)USBWebSever,似乎不用修改httpd.conf。如果需要,應(yīng)該對(duì)settings目錄下的httpd.conf類比上面的內(nèi)容進(jìn)行修改,文中{rootdir}/cgi-bin/這類文字最好不要修改!修改好以后,雙擊USBWebSever.exe就可以啟動(dòng)Apache服務(wù)器了。
最好把剛才生成的cgi程序(.exe文件),復(fù)制放到上文中提到的/cgi-bin/目錄下,文件名最好改成index.cgi這樣的形式。對(duì)于USBWebSever,cgi-bin目錄應(yīng)該是root目錄下的cgi-bin目錄(如果沒(méi)有要新建一個(gè)),不是和USBWebSever在同一目錄下的cgi-bin目錄。我的目錄結(jié)構(gòu)是這樣的
打開(kāi)瀏覽器輸入http://localhost:8080/cgi-bin/index.cgi(地址取決于你自己的具體設(shè)置),就可以看到cgi程序已經(jīng)運(yùn)行了。
posted on 2011-11-23 16:55 順其自然EVO 閱讀(556) 評(píng)論(0) 編輯 收藏