Java,JNI和C++:如何從本地方法聲明生成頭文件?Java,JNI和C++:如何從本地方法聲明生成頭文件?
我有Java項目,它通過JNI與C++代碼進行通信。 現在的挑戰是我需要添加新的方法。我首先在java代碼中聲明瞭 本地方法。現在我需要爲JNI方法重新生成頭文件 。我在Eclipse中工作,不知道如何做到這一點。
Java,JNI和C++:如何從本地方法聲明生成頭文件?Java,JNI和C++:如何從本地方法聲明生成頭文件?
我有Java項目,它通過JNI與C++代碼進行通信。 現在的挑戰是我需要添加新的方法。我首先在java代碼中聲明瞭 本地方法。現在我需要爲JNI方法重新生成頭文件 。我在Eclipse中工作,不知道如何做到這一點。
在JDK中該實用程序如何? javah
這不是內置到Eclipse,但它是很容易做到:
File » New... » XML File
創建項目中的Ant文件(下面的代碼)。Project » Properties » Builders » New... » Ant Builder
將Ant文件添加爲構建步驟。將刷新設置爲「項目」,以便生成的文件顯示在項目中。因爲javah
讀取已編譯的class
文件,所以請務必在Java Builder步驟之後執行構建步驟。現在,無論何時更改Java代碼,您都將擁有最新的頭文件。您只需列出Ant文件中的適用類。
<?xml version="1.0" encoding="UTF-8"?>
<project name="javah">
<mkdir dir="javah" />
<javah classpath="bin" destdir="javah">
<!-- list classes here -->
<class name="com.example.MyClass" />
</javah>
</project>
您可以在Ant腳本中獲得更多更復雜的內容,但以上就足夠了。
您可以使用與jsdk一起分發的命令行工具javah。 http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javah.html – mkaes