Python lambda in C++
Python lambda in C++
我有一个Python程序,其中有一个函数应该能够接受Python lambda,然后传递给正在运行的c++程序。
我想用泡菜。转储以将lambda序列化为字符串。然后将字符串传递给c++程序,然后使用boost进行反序列化。并在c++中获取lambda。然而,我刚刚意识到函数不能被pickle。
我相信应该有我不知道的现有解决方案。提前感谢任何建议!
查看C API教程页面。这个链接是关于从C调用Python函数的部分。听起来你对C API很陌生,所以从顶部开始吧。
Python不区分各种类型的可调用对象。就C API而言,具有__call__
方法的函数,lambdas,对象是可互换的。
我不会复制/粘贴这里的所有内容,因为它在链接中写得很好,但基本上你用C(或c++, API在两者中都有效)制作Python模块。第一个示例向您展示了如何操作。然后你可以从Python中调用一个C函数,并向它传递你需要传递的任何信息。所有Python对象都通过PyObject*
指针暴露给C语言,C API提供了许多函数来操作这些对象,在C语言数据类型之间进行转换,以及调用可调用对象等。
包装器,如boost。python和SWIG在内部使用这个API
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- IF-nesting in c++
- Gurobi GRBModel and GRBmodel in C++
- Tensorflow Hub in C++
- Centos7 g++ "to_string is not in a member of std"
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 将 lambda 表达式传递给 std::function in C++
- @CPPFLAGS@在 Makefile.in 中意味着什么?
- std::async from std::async in windows xp