java如何调用c 的dll
我有一个人家写好的.h文件,我要自己生成java可以识别的dll,可是网上的例子我试验了,都没有成功,可否指教
------解决方案--------------------1.建立java主程序,例如System.loadLibrary( "jwtain "); 
 2.用javah生成和主程序对应的头文件 
 3.修改java的本地安全策略,使得有权限访问本地的动态链接库 
------解决方案--------------------第一,创建一个java类,比如 
 public class demo{ 
     public native int getNumber(); 
     public native void setNumber(int value); 
 }   
 用javac编译成 demo.class 
 再用javah编译成 demo.h 
 写一个demo.cpp把demo.h的定义的原形方法实现 
 如果你电脑装了c++ Builder使用 
 1。bcc32 demo.cpp  生成demo.obj 
 2。bcc32 -WDR demo.obj 
 生成后的就是demo.dll,和类放在一起,在测试类里面写 
 static{ 
     System.loadLibrary( "demo "); 
 | 
   public static void main(String args[]){ 
       demo test = new demo(); 
       test.setNumber(123); 
       system.out.println(test.getNumber()); 
 } 
 程序输出如下: 123 
 如果不懂给我发邮件whz-accp@163.com
------解决方案--------------------用jacob去操作dll文件,即可,jacob.jar文件网上可以下载
------解决方案--------------------///////////////////////////////////////////// 
 转的高手帖 
 ///////////////////////////////////////////// 
 从   Java   程序调用   C   或   C   ++   代码的过程由六个步骤组成。我们将在下面几页中深入讨论每个步骤,但还是先让我们迅速地浏览一下它们。                
   编写   Java   代码。我们将从编写   Java   类开始,这些类执行三个任务:声明将要调用的本机方法;装入包含本机代码的共享库;然后调用该本机方法。                
   编译   Java   代码。在使用   Java   类之前,必须成功地将它们编译成字节码。                
   创建   C/C++   头文件。C/C++   头文件将声明想要调用的本机函数说明。然后,这个头文件与   C/C++   函数实现(请参阅步骤   4)一起来创建共享库(请参阅步骤   5)。                
   编写   C/C++   代码。这一步实现   C   或   C++   源代码文件中的函数。C/C++   源文件必须包含步骤   3   中创建的头文件。                
   创建共享库文件。从步骤   4   中创建的   C   源代码文件来创建共享库文件。                
   运行   Java   程序。运行该代码,并查看它是否有用。我们还将讨论一些用于解决常见错误的技巧。                          
   步骤   1:编写   Java   代码   第   3   页(共16   页)                              
   我们从编写   Java   源代码文件开始,它将声明本机方法(或方法),装入包含本机代码的共享库,然后实际调用本机方法。          
   这里是名为   Sample1.java   的   Java   源代码文件的示例:                
     1.   public   class   Sample1    
     2.   {    
     3.       public   native   int   intMethod(int   n);    
     4.       public   native   boolean   booleanMethod(boolean   bool);    
     5.       public   native   String   stringMethod(String   text);    
     6.       public   native   int   intArrayMethod(int[]   intArray);    
     7.    
     8.       public   static   void   main(String[]   args)    
     9.       {    
   10.           System.loadLibrary( "Sample1 ");    
   11.           Sample1   sample   =   new   Sample1();    
   12.           int           square   =   sample.intMethod(5);    
   13.           boolean   bool       =   sample.booleanMethod(true);    
   14.           String     text       =   sample.stringMethod( "JAVA ");    
   15.           int           sum         =   sample.intArrayMethod(    
   16.                                                   new   int[]{1,1,2,3,5,8,13}   );    
   17.    
   18.           System.out.println( "intMethod:    "   +   square);    
   19.           System.out.println( "booleanMethod:    "   +   bool);    
   20.           System.out.println( "stringMethod:    "   +   text);    
   21.           System.out.println( "intArrayMethod:    "   +   sum);    
   22.       }    
   23.   }                      
     第二步接下来,我们需要将   Java   代码编译成字节码。完成这一步的方法之一是使用随   SDK   一起提供的   Java   编译器   javac。用来将   Java   代码编译成字节码的命令是: