国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

windows下簡單編寫extension的一些要點

2024-07-21 02:04:15
字體:
來源:轉載
供稿:網友

并不是完整的文章或者教學。也不涉及關于使用VC++ 6.0的任何知識。僅僅是快速在windows下開發extension的想法。

在linux或unix下編譯,開發extension相信每個認真看過手冊的人都會了。但是windows下編譯php本身就是一個難題,我至今未能在windows下完整編譯php5,總是缺少一些lib。對于windows下編譯php5并沒有很多的文檔,不過手冊上已經足夠詳細了。但是既然僅僅為了編寫一個ext就搞出一大堆的東西似乎有些劃不來,那就簡單一些,只編寫ext并編譯。

步驟簡介

1.取得php代碼,比如php-5.1.4。

2.取得windows下的php二進制包,要跟代碼同版本。

3.進入原代碼目錄 php-5.1.4/ext/ 并使用CLI解釋執行ext_skel_win32.php。


php-win ext_skel_win32.php --extname=HelloWorld



4.從二進制包中的dev目錄取出php5ts.lib,放到剛才執行ext_skel_win32.php產生的php-5.1.4/ext/HelloWorld/ 《==重要!

5.編寫ext功能代碼,可參考精華貼,喬版主那篇unix下開發php4的ext的貼。差不多。

6.在php-5.1.4/ext/HelloWorld/下有HelloWorld.dsp,用VC++打開,編譯。在php-5.1.4/Release_TS/ 下會產生php_HelloWorld.dll。

7.如何使用這個ext不多說了。

------------------------------

要點1:一定要安裝cygwin,如果cygwin安裝路徑不是c:/cygwin的話,要手工修改ext_skel_win32.php中的$cygwin_path
比如我的
 

$cygwin_path 'Z:/working/bin/cygwin/bin';



要點2:編譯ext需要php5ts.lib或php5ts_debug.lib,分別對應Release和Debug方式編譯。如果編譯時提示php5ts_debug.lib找不到,那么要看看編譯方式是什么。

------------------------------

問題1:這樣編譯的好處是什么?
回答:快!如果不使用php二進制包中編譯好的php5ts.lib,而從頭在windows下編譯php5ts.lib,要配置一個編譯環境。麻煩得很,vc自己帶得lib缺少很多包,php帶的也缺少,要在cygwin里把包都找齊。用dev/php5ts.lib直接編譯ext就跳過了編譯 php的步驟,可以快速開發ext。同時保證跟官方發布的windows二進制包匹配。

問題2:這樣編譯跟cygwin下編譯有什么區別?
回答:cygwin下編譯的php無法脫離cygwin環境,編譯的ext自然也無法脫離cygwin。


補充中...還有一些沒想到~~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉阴县| 莲花县| 常州市| 台州市| 泰安市| 泾源县| 双鸭山市| 海晏县| 扶沟县| 房山区| 巨鹿县| 张北县| 黄浦区| 巴楚县| 磐石市| 桦川县| 双鸭山市| 玛曲县| 紫阳县| 营山县| 浠水县| 扬州市| 清河县| 弥勒县| 溧水县| 连州市| 耒阳市| 昭觉县| 息烽县| 安陆市| 海淀区| 衡阳县| 岑溪市| 天峻县| 蒙城县| 丰宁| 尚志市| 广宁县| 邳州市| 玛纳斯县| 香河县|