Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Mac xdebug make警告:不兼容的指针类型正在初始化';jmp_buf*';(又名int(*)[37]';)_Macos_Makefile_Xdebug - Fatal编程技术网

Macos Mac xdebug make警告:不兼容的指针类型正在初始化';jmp_buf*';(又名int(*)[37]';)

Macos Mac xdebug make警告:不兼容的指针类型正在初始化';jmp_buf*';(又名int(*)[37]';),macos,makefile,xdebug,Macos,Makefile,Xdebug,当我在Mac(OS X 10.10.2)上的xdebug上运行make时,我得到了这个结果: 生成已完成,但是否有任何与此警告有关的问题 这是一个bug,应该修复,但在这种情况下,它似乎是无害的 查看,我们看到一个指针(指向38个整数的数组)从baild复制到一个名为original\u baild的临时变量(指向37个整数的数组)。不会对该临时变量执行任何操作,指针下方的几行将被复制回原始变量bailad原始救助计划不再使用 由于无法通过不兼容的原始救助变量访问阵列,我看不到任何损坏风险 修复

当我在Mac(OS X 10.10.2)上的xdebug上运行
make
时,我得到了这个结果:


生成已完成,但是否有任何与此警告有关的问题

这是一个bug,应该修复,但在这种情况下,它似乎是无害的

查看,我们看到一个指针(指向38个整数的数组)从
baild
复制到一个名为
original\u baild
的临时变量(指向37个整数的数组)。不会对该临时变量执行任何操作,指针下方的几行将被复制回原始变量
bailad
<代码>原始救助计划不再使用

由于无法通过不兼容的
原始救助
变量访问阵列,我看不到任何损坏风险

修复方法是用
Zend/Zend.h
中定义的
jmp_buf
宏替换
jmp_buf
类型:

#ifdef HAVE_SIGSETJMP
#       define SETJMP(a) sigsetjmp(a, 0)
#       define LONGJMP(a,b) siglongjmp(a, b)
#       define JMP_BUF sigjmp_buf
#else
#       define SETJMP(a) setjmp(a)
#       define LONGJMP(a,b) longjmp(a, b)
#       define JMP_BUF jmp_buf
#endif
因此,第900行内容如下:

JMP_BUF          *original_bailout = EG(bailout);
JMP_BUF          *original_bailout = EG(bailout);