avriltank
avriltank
线程安全版本,USE_ZEND_ALLOC=0不会core,我整理下文件发给你
我将所有必备文件打包为静态库和pdb文件了,https://www.123pan.com/s/lKQijv-RXGO.html 您只需要每次编译带上这几个库就行,编译直接build.bat即可,最小main代码, ```c typedef struct _zend_module_entry zend_module_entry; typedef enum { SUCCESS = 0, FAILURE = -1, /* this MUST stay a negative number, or it may affect functions! */ }...
大佬你想多了,完全就用的php的代码和你的代码,我是菜鸟,对php底层代码是真不熟悉。只是php那套编译流程是真的繁琐,所以我简化了下,因为静态编译,每次自己开发一个扩展或者修改追踪代码,都要基本全部编译一遍,所以我按照每个扩展,抽离成静态库,简化下编译,方便调试,回头空了我好好研究下php的源码
上边应该带pdb文件的,你是要官方的php的编译方式的pdb文件?
这是怎么玩的,大佬厉害,visual studio,我都还是大一的时候装过一次就卸载了
我用的cmake编译的,pdb文件,也是开了下,好像缺少php主文件包的pdb文件?应该在zend_static.pdb文件里边
3的问题我全部用的libcmtd,不是libcmt,4我可以尝试下,这个issule先留着,我这几天忙完实验报告后,好好研究下php的源码
应该都是用的同种方式编译的。crt应该是匹配的,不管怎样,很感谢大佬的调试,暂时也不清楚是啥原因。
```c void free_zend_constant(zval *zv) { zend_constant *c = Z_PTR_P(zv); if (!(ZEND_CONSTANT_FLAGS(c) & CONST_PERSISTENT)) { zval_ptr_dtor_nogc(&c->value); if (c->name) { zend_string_release_ex(c->name, 0); } efree(c); } else { zval_internal_ptr_dtor(&c->value); if (c->name) { zend_string_release_ex(c->name,...
但这个很奇怪的是,cli模式没问题,唯独micro这边有问题