This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Storing C++ data in an instance field using CNI?


Paul Gear wrote:

Hi folks,

I've searched the archives & Google without finding an answer to this
question: is it possible using CNI to store C++ data in the object as an
instance field?

I need to store a struct defined in an external library within the
object.  Can i just define a field that is of type Object and then use
that as a pointer?  If i do this, do i need to use special malloc/free
routines?

Thanks in advance,
Paul
http://paulgear.webhop.net


I think the traditional way to do it with JNI and CNI is to define an int (or long if using 64 bit pointers) member in the java object that will be casted to a pointer to the C++ data object. The C++ data object would be allocated with operator new or malloc. You have to arrange to delete/free it before the java object is GCed. This can be done from the finalize method.

David Daney.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]