首页主机资讯java如何调用c++程序

java如何调用c++程序

时间2025-09-28 07:58:03发布访客分类主机资讯浏览317
导读:要在Java中调用C++程序,您可以使用Java Native Interface (JNI 创建一个C++文件(例如example.cpp): #include <iostream> extern "C" {...

要在Java中调用C++程序,您可以使用Java Native Interface (JNI)

  1. 创建一个C++文件(例如example.cpp):
#include <
    iostream>


extern "C" {

    #include "example.h"
}


JNIEXPORT void JNICALL Java_com_example_myapp_MainActivity_printHelloFromJNI(JNIEnv *env, jobject obj) {
    
    std::cout <
    <
     "Hello from C++!" <
    <
     std::endl;

}

  1. 创建一个Java头文件(例如example.h):
#ifndef _EXAMPLE_H
#define _EXAMPLE_H

#ifdef __cplusplus
extern "C" {
    
#endif

JNIEXPORT void JNICALL Java_com_example_myapp_MainActivity_printHelloFromJNI(JNIEnv *env, jobject obj);


#ifdef __cplusplus
}

#endif

#endif // _EXAMPLE_H
  1. 使用javac编译C++文件,并使用javah生成Java头文件:
javac example.cpp -I${
JAVA_HOME}
/include -I${
JAVA_HOME}
    /include/linux
javah -jni Java_com_example_myapp_MainActivity_printHelloFromJNI
  1. 创建一个Java类(例如MainActivity.java):
package com.example.myapp;


public class MainActivity {

    static {
    
        System.loadLibrary("example");

    }
    

    public native void printHelloFromJNI();


    public static void main(String[] args) {
    
        MainActivity mainActivity = new MainActivity();
    
        mainActivity.printHelloFromJNI();

    }

}
    
  1. 编译Java类并运行:
javac MainActivity.java
java -Djava.library.path=. MainActivity

这将输出:

Hello from C++!

请注意,这只是一个简单的示例。在实际项目中,您可能需要处理更复杂的数据类型、错误处理和线程管理。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: java如何调用c++程序
本文地址: https://pptw.com/jishu/711123.html
怎么启动java项目 java如何实现排序接口

游客 回复需填写必要信息