Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-c++;嵌入式解释器和对象 我有一个简单的C++程序,它启动一个嵌入的Python整数编译器,导入一个模块并实例化该模块中定义的类。 我想理解为什么Python对象的地址(从Python的观点)和C++对象的地址是不同的。 实例中的Python实例和C++视图如何不同的内存地址?< /P>_Python_C++_Pybind11_Python Embedding - Fatal编程技术网

python-c++;嵌入式解释器和对象 我有一个简单的C++程序,它启动一个嵌入的Python整数编译器,导入一个模块并实例化该模块中定义的类。 我想理解为什么Python对象的地址(从Python的观点)和C++对象的地址是不同的。 实例中的Python实例和C++视图如何不同的内存地址?< /P>

python-c++;嵌入式解释器和对象 我有一个简单的C++程序,它启动一个嵌入的Python整数编译器,导入一个模块并实例化该模块中定义的类。 我想理解为什么Python对象的地址(从Python的观点)和C++对象的地址是不同的。 实例中的Python实例和C++视图如何不同的内存地址?< /P>,python,c++,pybind11,python-embedding,Python,C++,Pybind11,Python Embedding,下面是一些工作代码,使用: #包括 #包括 #包括 使用名称空间std; 名称空间py=pybind11; int main() { { py::作用域_解释器保护{}; py::modulem=py::module::import(“代码”); 对象o=m.attr(“SomeClass”)(); cout如果我们快速查看一下py::object在其声明中是由什么组成的,您可以看到该类将PyObject*作为受保护的成员(继承自py::handle)。该指针包含从python端打印出来的地址。

下面是一些工作代码,使用:

#包括
#包括
#包括
使用名称空间std;
名称空间py=pybind11;
int main()
{
{
py::作用域_解释器保护{};
py::modulem=py::module::import(“代码”);
对象o=m.attr(“SomeClass”)();

cout如果我们快速查看一下
py::object
在其声明中是由什么组成的,您可以看到该类将
PyObject*
作为受保护的成员(继承自
py::handle
)。该指针包含从python端打印出来的地址。如果可以访问它,您会看到它


我可以访问它吗!
PyObject*ptr()const{return m_ptr;}哦,我错过了。我不是C++的超级灵动。请原谅我在晚会上迟到了,但是你是怎么得到这个LPython 3.6m的标志的?我没能找到关于它的任何信息,幸运的是我找到了允许我的代码的帖子。working@Joachim我很想帮忙,但这是很久以前的事了,我不记得我是怎么结束的我不太习惯处理g++所以即使现在我也不知道它的基本原理。我想我是从
$ g++ -O3 -Wall -std=c++14 `python3 -m pybind11 --includes` code.cc -o code -lpython3.6m
$ ./code
[PYTHON] <code.SomeClass object at 0x7fb6926f1da0> being created
[C++   ] object lives in 0x7fffbed02588                   
[PYTHON] <code.SomeClass object at 0x7fb6926f1da0> being deleted