3
나는 현재 다음과 같습니다부스트 파이썬은 파이썬에서의 C++ 함수를 호출 포함 된 경우
namespace py=boost::python;
//C++
void f() {
std::cout << "hello world\n";
}
//I am not precious about this, if it can be done without a module that would be great
BOOST_PYTHON_MODULE(test)
{
py::def("f", f);
}
int main() {
auto main_module =py::import("__main__");
auto main_namespace =main_module.attr("__dict__");
//???????
auto result=py::exec_file("t.py", main_namespace);
}
//t.py
f()
나는 F를 호출하려고하지만, 나는 그것이 작동하도록하는 데 필요한 접착제의 모르겠습니다. 클래스와 나는 예상대로 첫 번째 테스트 케이스가 작동하도록 어떻게,
int main() {
//...
py::obejct p_my_type=py::class_<my_type>("my_type").def("f", &my_type::f);
main_namespace["my_type"]=p_my_type;
//...
그러나
boost::python::def
이
내 질문은 않는 boost::python::object
class_
처럼 돌아 나타나지 않습니다 할 수 있습니까? 두 번째 코드 스 니펫에서 "유형"이 정확하게 표시되는 방법은 무엇입니까?