JNI c与Java一起上课

时间:2011-12-05 20:06:29

标签: java c++ c java-native-interface

我有一个.obj解析器,代码是:

class Model {
public:
    List *coords;
    List *tcoords;
    List *normals;
    List *faces;

    Model() {
        coords=new List();
        tcoords=new List();
        normals=new List();
        faces=new List();
    }

    ~Model() {
        delete(coords);
        delete(tcoords);
        delete(normals);
        delete(faces);
    }

};

这是一个模型文件解析器工具,它解析一个大文件。列表是一个链表。 (String array,char *)

如何从C ++将此类返回给Java?我知道如何使用NewObjectArray返回一个简单的String数组,但是返回一个Class的方法是什么?

谢谢, 莱斯利

2 个答案:

答案 0 :(得分:1)

通常,您在Java端创建一个对等类,该类包含指向长变量中类的指针。

Jim S。

答案 1 :(得分:0)

在C ++代码中,您可以通过调用env-&gt; NewObject()方法并向其传递适当的构造函数签名来实例化任何Java对象。构造函数具有特殊名称<init>