How to call a function in a c++ object file from java?

elams :

I have existing cpp files from a project which I would like to use it for my application which is in Java. I cannot change the cpp files. How can I call the functions from Java?

I'm working in Windows 10 using JavaFX for my application. I've seen some articles about JNI but none seem to solve my issue.

darune :

If JNI or swig is not desired or seems too low level,

A really blunt approach is to wrap the .cpp in c/c++ program and built an .exe that dumps to stdout/file. Then execute that in java via an external shell command.

Another good alternative is

Apache thrift

This basicly handles everything and goes everywhere so to speak (works by auto-generating code to target languages) and it is one I usually recommend in RPC situations. However there could be more setup cost involved (in the end, depends on your actual needs) - also since you need to host the .cpp in a service, in your case, locally.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=142725&siteId=1