我试图调用一个用C++编写的用Python或java调用C++中的VFML(http://www.cs.washington.edu/dm/vfml/)的库。我是Python新手,还没有用C语言编程。有没有任何方法来做这些,不需要了解C++编程,因为学习语言需要时间。任何关于如何做到这一点的教程或指南也会有所帮助。在
我使用Eclipse运行Python模块和Java类。如果有人知道,如果可以用java或Python调用Eclipse中C++库,那就太好了。谢谢您。在
编辑1:
谢谢你的回答。我错误地认为VFML是用C++编写的。如前所述,它是C语言。似乎大多数给出的答案都暗示了对C语言的某种理解,以便调用Python甚至Java中的库。我听说过斯威格。如果这是可行的想法,因为没有任何C语言知识,我甚至不知道我是否可以让图书馆正常工作。另一个问题是,我在Eclipse中同时使用Python和Java时,是否有针对SWIG的Eclipse插件。在
不能直接调用Python或java中的C++; 你必须写一些桥接代码。考虑到外部 与Python和Java的接口是C,这个桥接代码可以是 多多少少复杂:字符串是char*,所有 内存管理问题暗示,并报告错误 通常需要调用接口级别来创建 目标语言中的异常。在
Python的接口代码相当简单,除了 问题,但是它仍然需要相当好的C++知识。 以便在Python对象上有效地使用RAII。这个 Java接口(JNI)非常复杂,需要 无数次调用返回到Java中,即使是最简单的调用 以及所有通常的资源管理。在
要使用Java调用c++dll方法,可以使用Java本机访问库。它真的很容易使用。您需要做的就是创建接口,然后就可以使用它了。在
例如,让imagine使用
GetSystemIp(out char[] ip)
获得dll,此方法的接口如下所示:您可以这样使用它:
^{pr2}$更多信息可在jna site和wiki page上找到。在
相关问题 更多 >
编程相关推荐