2013-07-25 61 views
1

Java,JNI和C++:如何從本地方法聲明生成頭文件?Java,JNI和C++:如何從本地方法聲明生成頭文件?

我有Java項目,它通過JNI與C++代碼進行通信。 現在的挑戰是我需要添加新的方法。我首先在java代碼中聲明瞭 本地方法。現在我需要爲JNI方法重新生成頭文件 。我在Eclipse中工作,不知道如何做到這一點。

+1

您可以使用與jsdk一起分發的命令行工具javah。 http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javah.html – mkaes

回答

2

我以前用命令行來做。

  • 轉到源文件目錄。

  • javac filename.java生成filename.class文件。

  • javah filename生成filename.h文件。

你可以參考javacjavah更多的幫助。

3

這不是內置到Eclipse,但它是很容易做到:

  1. 轉到File » New... » XML File創建項目中的Ant文件(下面的代碼)。
  2. 轉到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腳本中獲得更多更復雜的內容,但以上就足夠了。