兩個符號存在於共享庫的零初始化段:
% 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進程中共享的。