(cfang 转载并做适当注释
第一步:

安装cygwin,务必cygwin\bin文件夹有bison.exe、flex.exe (http://blog.chinaunix.net/uid-20545494-id-1929752.html
c:\cygwin\bin
把以上加入到环境变量中
首次安装时,可选择默认安装
我安装了以下这些包,可能有的多余了,作个参考:

安装时请一定要选择 bison.exe 和 flex.exe






安装Visual C++6.0,安装VC6 Service Pack 6
参考:http://wiki.
确认环境变量:C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin


第二步:
官方网站下载
源码:c:\
二进制文件:c:\
把c:\


第三步:
命令行下:cd
进入源码根目录
执行:buildconf
如果在这出什么问题,很有可能是cygwin安装不完整
那就继续安装cygwin吧


第四步:
执行:configure
这个命令执行中可以生成C:\文件夹下的config.w32.h头文件
这个头文件在扩展目录编译时会用到

其中三、四两步只需执行一次,以后再建扩展可以不执行了,直接从第五步开始就可以了


第五步:
可以生成扩展目录了
进入到:C:\
执行:
执行这个命令时,确保ext_skel_win32.
默认是:c:\cygwin\bin,所以我的就不需要修改了


第六步:
把C:\

修改
扩展的新函数: 在

 // 新增的行 申明函数


修改myhello.c
//myhello 函数体

    
}

在数组zend_function_entry myhello_functions[]增加一行
zend_function_entry myhello_functions[] = {
       NULL)       
     // 新增的行 注册myhello函数

    {NULL, NULL, NULL}   
};


第七步:
用vc6打开myhello.dsp,build->Set Active Configuration,选择release编译
然后build->
这个时候会报很多
接着比较重要的一步,很多时候就是差这一步了
在这个文件大约28行位置加上这一句:typedef int socklen_t;(只需在第一次扩展时加上就可以了)
接着build->
然后是不是成功了?


第八步:
在 C:\




第九步:
写一个test.

重启web server,就可以在浏览器里看到:hello C extension.


成功了!
10-06 07:10