开发者

How to keep a C++ object inside Java code? Possible?

开发者 https://www.devze.com 2023-02-22 12:05 出处:网络
First I\'ve got a legacy C++ library, and I\'m migrating my app to Android with new UI. During runtime, there might be multiple C++ objects created and destroyed dynamically. I built a set of JNI nat

First I've got a legacy C++ library, and I'm migrating my app to Android with new UI.

During runtime, there might be multiple C++ objects created and destroyed dynamically. I built a set of JNI native methods to call into library to get that. But where should I keep those C++ objects? I have to keep track of them and free them if they're unnecessary.

So far I only knew Ja开发者_开发技巧va can't reference to a C++ object. Is it possible to make a Java wrapper class which include a reference to C++ object?

Thanks.


Yes, it's possible. You can store a pointer to your C++ object in a simple java int. That's exactly how SWIG does that.


JavaCPP takes care of this detail by saving it into a wrapping peer Pointer object.

0

精彩评论

暂无评论...
验证码 换一张
取 消