两个符号存在于共享库的零初始化段:
% nm /usr/lib/x86_64-linux-gnu/libpython2.7_d.so|egrep '(interp_head|_PyThreadState_Current)'
000000000062a230 b interp_head
000000000062a208 B _PyThreadState_Current
的interp_head
是一个静态变量 - 没有外部链接的变量 - 和外面是不可见该模块。 _PyThreadState_Current
有外部链接,以及使用所述共享库是将程序可见:
% objdump -TC /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 | \
egrep 'interp_head|_PyThreadState_Current'
000000000056d3c0 g DO .bss 0000000000000008 Base _PyThreadState_Current
(仅_PyThreadState_Current
在外部符号表中列出)。
每个进程都有一组单独的全局变量;这些不是在Python进程中共享的。