2011-07-25 73 views
0

Boost文檔沒有指定這個。當我使用boost::python::import時,確切地說是指定的模塊導入?我的猜測將在'__main__'(只是爲了確保)。boost :: python :: import期間和之後會發生什麼?

另外,當模塊對象超出範圍時會發生什麼?鑑於Boost的文檔中的措辭—「返回:一個對象的實例,它持有對導入模塊的引用」—我猜想只有引用超出了範圍,模塊對象仍然在'__main__'(或任何被導入的位置) 。

回答

1

其基本機制是PyImport_ImportModule,並且不,它不會觸及__main__。成功導入的模塊插入到sys.modules字典中,因此當您DECREF函數返回時該對象不會被釋放 - 仍然至少有一個引用存在。