Java 呼叫c++;不改变c++;代码
我想在java程序中使用一些Java 呼叫c++;不改变c++;代码,java,c++,java-native-interface,Java,C++,Java Native Interface,我想在java程序中使用一些.cpp类和方法。例如,我有调用method1的p1.java方法1可在p2.cpp和p2.cpp中找到。cpp包括p3.cpp。我不想更改cpp代码 可能吗?(我需要.cpp和.header两者。) 还有其他更好的解决方案吗?(除了java本地接口)?< /p> 为什么不在java和C++之间用JNI创建一个额外的层? method1_java_cpp_layer( JNIEnv * e, jobject o ) { extracted_informatio
.cpp
类和方法。例如,我有调用method1
的p1.java
<代码>方法1可在p2.cpp
和p2.cpp
中找到。cpp包括p3.cpp
。我不想更改cpp代码
可能吗?(我需要.cpp
和.header
两者。)
还有其他更好的解决方案吗?(除了java本地接口)?< /p> 为什么不在java和C++之间用JNI创建一个额外的层?
method1_java_cpp_layer( JNIEnv * e, jobject o )
{
extracted_information = extract_information( e, o );
method1( extracted_information )
}
这进入了“javaycpp.Leop.CPP”。为什么不在java和C++之间创建一个与JNI的额外层——有效地创建:
method1_java_cpp_layer( JNIEnv * e, jobject o )
{
extracted_information = extract_information( e, o );
method1( extracted_information )
}
这将进入“java_cpp_layer.cpp”Thank's。我做到了。但现在当我运行程序(java java_cpp_层)时,我得到了另一个错误:libjava_cpp_层。所以:未定义的符号:p2…你能帮我吗?谢谢。我做到了。但现在当我运行程序(java java_cpp_层)时,我得到了另一个错误:libjava_cpp_层。所以:未定义的符号:p2…你能帮我吗?