Thinking——C模拟Exception

2018-06-26
阅读 2 分钟
1.9k
C中没有exception,所以我们可以用函数返回值来判断错误类型。但有时候又希望在顶层能统一处理错误,让代码更简洁一点。其实第一个想到的可能是goto语句,但是goto不能跳转到另一个函数的某个label,不过C提供了另外两个函数来完成这个任务:setjmp 和 longjmp。

Just for fun——PHP7扩展编写中的宏

2018-01-25
阅读 7 分钟
2.9k
PHP内核架构 SAPI是PHP的最上层,它是PHP的应用接口层,对于源码目录为sapi main是PHP的主要代码,主要是输入/输出,Web通信,以及PHP框架的初始化操作,对于源码目录为main ZendVM是PHP解释器的主要实现,即ZendVM,对于源码目录为Zend 截一张php-src的图,目录都有对应 PHP的生命周期 PHP根据不同SAPI的实现,各阶段的...

Just for fun——C/C++函数返回局部变量的问题

2017-10-23
阅读 2 分钟
3.3k
一般来说,在函数内对于存在栈上的局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错;但是如果返回的是局部变量的地址(指针)的话,就造成了野指针,程序运行会出错,因为函数只是把指针复制后返回了,但是指针指向的内容已经被释...