我在python代码中发现了瓶颈,并与psycho等打交道。然后决定编写ac / c ++扩展以提高性能。
借助swig,您几乎不需要关心参数等。一切正常。
现在我的问题是:swig创建了一个很大的py文件,该文件在调用实际的.pyd或.so代码之前会执行很多“检查”和“ PySwigObject”。
你们中的任何人是否有经验,如果您手动编写此文件或让wig来做,是否可以获得更多性能。
SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具。SWIG能应用于各种不同类型的语言包括常用脚本编译语言例如Perl, PHP, Python, Tcl, Ruby and PHP。支持语言列表中 也包括非脚本编译语言,例如C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Java, Modula-3, OCA
swig 是node端的一个优秀简洁的模板引擎,类似Python模板引擎Jinja,目前不仅在node端较为通用,相对于jade、ejs优秀,而且在浏览器端也可以很好地运行。 特性: 支持大多数主流浏览器。 表达式兼容性好。 面向对象的模板继承。 将过滤器和转换应用到模板中的输出。 可根据路劲渲染页面。 支持页面复用。 支持动态页面。 可扩展、可定制。 使用示例: 模板代码 <h1>{{ page
问题内容: 我有用swig包装的类的C 代码。我无法修改代码或包装。在python中,我具有使用ctypes的指向所述C 类实例的指针。如何围绕该指针创建一个Swig包装器? 我知道swig对象拥有一个’this’属性,该属性在内部指向包装的对象,但是我找不到一种将其设置为我手头的指针的方法。 谢谢您的帮助! 问题答案: 您 可以 执行此操作,但是这需要大量工作,并且解决使ctypes或SWIG接
我有一个库。它是通过SWIG进行包装的。我想创建一个插件来扩展它。插件需要一个来自已经包装的库的类来运行具有类似的东西。库从Java和c#中使用。现在这个插件也将从那里使用。库和插件是分开的dll的。如何高SWIG,我已经有那个类型在创建插件绑定时进行包装?
问题内容: 我正在尝试使用swig从python使用以下原型访问C函数: Swig创建.so没问题,我可以将其导入python,但是当我尝试使用以下命令进行访问时: 我得到以下回溯: 该指针应该是一个int数组,其大小由memoryCells定义 问题答案: 如果可以,请使用ctypes。更简单。但是,由于您要求输入SWIG,因此需要的是一个描述如何处理int *的类型图。SWIG不知道可以指向多
我也在尝试在PHP中使用我的C类。在我的C代码中,我将typedef声明为: 所以我打算让SWIG在包装类中考虑我的typedef,我的接口文件如下: 在我的测试代码中,我将类型称为: 但我有以下错误: 附言:我的接口文件中也包含了“stdint.I”,但也出现了同样的错误 有什么想法吗?