分类 C/C++ 下的文章

Python内核阅读(二十五):信号处理机制


起步

Python处理信号是在 signal 模块中,这个模块其实是纯python代码对 _signal 的封装。要想知道Python解释器本身如何处理信号以及如何实现的,还需要去了解 signalmodule.c 。其中,比较需要了解的是python解释器与操作系统有关信号的交互。

大体上,Python解释器不太可能会操作系统发出的信号立即做回调。因为Python的Opcode操作是原子操作,不允许被中断。所以Python解释器对信号做一层封装,并做好标记,待时机得当的时候来检查并触发相关的回调函数。


intptr_t 是比 void * 更好的选择吗


intptr_t 是何方神圣

相信大多数程序员对 intptr_t 比较陌生的,也不要认为是 int 类型的指针。其实这个和 int 没什么关系,也不知道定标准的人是怎么想的= =

intptr_t 是C语言标准委员会 C99 标准中新加的类型, 它占用的空间始终与平台上地址位数相同,因此用来存放地址。