易截截图软件、单文件、免安装、纯绿色、仅160KB

java使用JNI调用C++函数

网上有了很多这样的文章,不过感觉并不是很全,我都东找西找才最终把JAVA调用c++给搞定。
下面引用了很多网上已经有的的内容,我在这里只是整合一次,让以后的朋友少走网路。
多说无益,具体如下:
作者:mykoma
假设所有文件都放在d:\
Step 1:
写JAVA文件
例如程序testdll.java,内容为:   
  public   class   testdll  {   
  static{   
  System.loadLibrary("testdll");   
  }   
  public   native   static   int   get();   
  public   native   static   void   set(int   i);   
  public   static   void   main(String[]   args)    {  
     testdll   test   =   new   testdll();   
     test.set(10);   
     System.out.println(test.get());   
   }      
  }  
用javac   testdll.java编译它,会生成testdll.class。
再用javah   testdll,则会在当前目录下生成testdll.h文件,这个文件需要被C/C++程序调用来生成所需的库文件。
Step 2:
根据testdll.h写C++文件testdll.cpp
testdll.cpp内容为:
#include   "testdll.h"   
  int   i   =   0;   
  JNIEXPORT   jint   JNICALL   Java_testdll_get   (JNIEnv   *,   jclass)     {   
      return   2*i;   
  }   
  JNIEXPORT   void   JNICALL   Java_testdll_set   (JNIEnv   *,   jclass,   jint   j)   {   
  i   =   j;   
  }  
Step 3:
生成testdll.dll
这一步需要注意,我最开始也是找了很多资料才弄正确
这里我使用的V


相关文档:

C/C++语法知识:typedef struct 用法详解

第一篇:typedef struct与struct的区别
1. 基本解释
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型
(struct等)。
在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明 ......

java 序列化


什么是序列化 
java中的序列化(serialization)机制能够将一个实例对象的状态信息写入到一个字节流中,使其可以通过socket进行传输、或者持久化存储到数据库或文件系统中;然后在需要的时候,可以根据字节流中的信息来重构一个相同的对象。序列化机制在java中有着广泛的应用,EJB、RMI等技术都是以此为基础的。  ......

java与mysql乱码的问题 [转]

解决方法一:(最重要的一种方法)
你看下my.ini,有无
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
然后建立表时,也要用(比如)
DROP   TABLE   IF   EXISTS   `Company`;
CREATE &nb ......

java泛型T.class的获取

   很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解。关键的地方是HibernateBaseDao的构造方法中的
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class)params[0] ......

Java入门总结

面向对象程序设计共有三大特性:封装、继承、多态;
这三大特性之间相互关联,其中封装性是面向对象的基础,继承性是软件重用的关键。而多态性则必须存在于继承的环境之中,是对面向对象程序设计的补充。
封装;
Java5.0新特性;基本数据类型à封装类 封箱; 封装类à基本数据类型 拆箱;
package review; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号