首页 > php教程 > php手册 > 正文

我是如何为yac做windows支持的

WBOY
发布: 2016-06-06 20:09:37
原创
2217 人浏览过

前几天 @laruence 说yac需要windows支持.. 依稀记得他1、2个月前就在喊.. 大门不忍看他日渐憔悴,于是就接了过来. 作为一个当代文艺青年..我已经有1年多的时间没有在windows上做过开发.. 也从来没有在windows上写过c(php扩展).. 一直以来都是在Linux上做的开

前几天 @laruence 说yac需要windows支持.. 依稀记得他1、2个月前就在喊.. 大门不忍看他日渐憔悴,于是就接了过来. 作为一个当代文艺青年..我已经有1年多的时间没有在windows上做过开发.. 也从来没有在windows上写过c(php扩展).. 一直以来都是在Linux上做的开发.. so..本篇文章就来说说windows下的扩展开发,从无到遇坑到测试通过遇到的一些应该注意的问题..如果下文要提到的一些东西能google到我就直接用链接代替了. Here we go. a> windows环境..我是开虚机来跑..具体环境配置见:链接,有几个需要注意的点。 你需要明白ZTS和NTS的意思,并且使用正确的方式来配置VS的环境变量和使用正确的包,比如我的环境是VS2008,我开发时候用NTS(非线程安全),所以我选择的是php-5.3.8-nts-Win32-VC9-x86这个包.. 记得设置PATH,会让你事半功倍。 b> vs2008的 项目 -> 属性 里面有几个需要调整的值 配置属性->常规 中的 MFC的使用 最好选择为 在静态库中使用MFC 配置属性->C/C++->预处理器->预处理定义 这里面的定义记得填,比如在yac中,我设置了如下几个: PHP_YAC_EXPORTS ZEND_DEBUG=0 COMPILE_DL_YAC ZEND_WIN32 PHP_WIN32 HAVE_TEST=1 各位需要按照自己的扩展情况做适当修改, 如果是ZTS记得在这里加上 配置属性->C/C++->代码生成->运行时库 这个需要改为 多线程DLL(/MD) 配置属性->C/C++->高级->编译为 这里需要修改为 编译为c代码(/TC) 配置属性->链接器->输入->附加依赖项 在yac中,我是如下设置的: "C:\php\php-5.3.25-nts-Win32-VC9-x86\dev\php5.lib" "Advapi32.lib" c>coding and coding .. 这里真的没什么说的.. 你至少需要写出一个可以0错误可以生成出来的dll.. 不然是没办法进入下一步的.. d>到了重点..调试,我当时怎么找都找不到如何在windows下调试php扩展,其实很简单,只是因为没有在windows下面开发c的经验,首先,我们需要把 [...]
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!