用于从Python调用C++代码的CFFI模块

CFFIpp的Python项目详细描述


CFFIpp是类似[CFFi](http://cffi.Read Tex.org),但是BR/>通过C++将其映射到C,通过BR/> BR/>许可证< BR> > BR/= BR/>< BR/> CFFIpp是自由软件:您可以重新发布和/或修改< BR/>根据GB/T/R> Free发布的GNU通用公共许可证的条款。软件基础,许可证的第3版,或BR/>(按您的选择)任何后续版本。
BR/> CFFIpp被分发,希望它是有用的,
但没有任何保证;甚至没有隐含的保证BR/>适销性或适合特定用途。有关详细信息,请参阅gnu通用公共许可证。

如果没有,请参见http://www.gnu.org/licenses/>;


示例
==


>直接来自单元测试:

``python
ffi=ffipp()
ffi.cdef(“
class testclass{
public:
testclass();
void test(int);
int returnsint(int);
私有:
void shouldnotbeimodule();
};
“”
自.asserttrue(ffi.has_class(“testclass”))


ffi.set_source(“example_module”,“br/>类testclass{
公共:
testclass(){
void test(int){/*nop*/}
int returnsint(int){return 1;}
私有:
void shouldnotbeimodule(){/*nop*/}
};“”“
ffi.compile()
import example_module
c=example_module.testclass()
self.assertequal(c.returnsint(5),1)
`````

这是一个实验软件;
2。在Python和C++类之间添加一个(虽然很小)层,使用一个愚蠢的C包装器。不支持重载,还没有类型转换,除了“cffi”之类的东西。从方法返回C++对象将不会产生Python对象。
5。只会包装类,目前不能与c混合。
6.具有讽刺意味的是,您可能需要cPython来运行此操作,因为它依赖于BR/> CLAN绑定来处理C++代码。
开发< BR/>开发版= BR/> BR/>开发在[我的GITLab]仓库中进行(http://gITLab.COM/RuDOS/CFFIP/)。如果你想开始攻击这个项目,
请随意这样做。好的起点是todo.md文件和前面列出的注意事项。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java遍历数组并检查项的值   在名为“”的DispatcherServlet中找不到URI为[/api/encodedurl]的HTTP请求的java映射   java如何在所有JUnit测试中集成Spring Instrument javaagent   java从Axis2生成的存根获取端点URL   使用Gson从JSON转换为POJO的java问题   java如何在安卓中循环声音   java客户端中的elasticsearch geohash方面   我想用Java从右向左打印*请提供输入   java在安卓中上传一个或多个图像   调试如何在Netbeans中调试Java Web应用程序?   创建2个单例Java类实例   java Android Studio:膨胀类片段时出错(加载活动\主UI时程序崩溃)   来自javajarmyapp的命令行。jar选项到myApp选项   java调用setLocationEnabled在另一个按钮中