Boost文档未指定此内容。当我使用boost::python::import时,指定的模块究竟在哪里导入?我的猜测是'__main__'
(只是为了确保)。
此外,当模块对象超出范围时会发生什么?鉴于Boost的文档中的措辞 - “返回:包含对导入模块的引用的对象实例” - 我猜测只有引用超出范围,模块对象仍然在'__main__'
内找到(或者在哪里)它是进口的。)
答案 0 :(得分:1)
基础机制是PyImport_ImportModule
,不,它不会触及__main__
。成功导入的模块被插入到sys.modules
dict中,因此当您DECREF函数返回时,对象不会被释放 - 仍然至少有一个引用存活。