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

Java与C++语言在JNI下的交互

java环境下调用VC++编写的动态链接库文件
一,开发平台:
MyEclipse 6.0,VC++6.0
二,JNI基础知识:
JNI(java native interface),JAVA本地接口调用,目的是为了JAVA可以调用本地程序。
三,交互过程:
1,建立java类。例如,建立一个RSA加密解密的类:
package zkxx.ctais2.client.common;
public class RsaEncrypt {
/**
* @param args
*/
public native String GetKeys();
public native String Encrypt(String source,String PublicKey);
public native String Decrypt(String cipher,String PrivateKey);
static {
System.loadLibrary("RSAEncrypt");
}
public static void main(String[] args) {
}

2,生成C++语言的头文件:
1)注意:利用javah工具生成头文件需要注意,类的包结构,和class文件存储的路径。
例如:本地class文件存储路径:E:\lclai\lclai\src\
包结构应为:E:\lclai\lclai\src\com\org\lclai
RsaEncrypt.java应该存放在包路径下。
2)CMD命令提示符下进入E:\lclai\lclai\src\com\org\lclai路径
输入命令:javac RsaEncrypt.java
回车。
把生成的class文件拷贝到路径E:\lclai\lclai\src\
CMD命令提示符下进入E:\lclai\lclai\src\
输入命令:javah -classpath E:\lclai\lclai\src -jni E:\lclai\lclai\src\com\org\lclai\RsaEncrypt
回车。
在路径E:\lclai\lclai\src\便会生成以包结构和类名结合的头文件。
3,编写cpp文件
cpp文件头需要包含刚刚生成的.h文件,此外还需要包含jni.h.
// RSAEncrypt.cpp : Defines the initialization routines for the DLL.
//
#include "stdafx.h"
#include "RSAEncrypt.h"
#include "CryptoPP32.h"
#include "zkxx_ctais2_client_common_RsaEncrypt.h"
#include "jni.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//
// Note!
//
// If this DLL is dynamically linked against the MFC
// DLLs, any functions exported from this DLL which
// call into MFC must have the AFX_MANAGE_STATE macro
// added at the very beginning of the function.
//
// For example:
//
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
//


相关文档:

Java 时间操作

1.计算某一月份的最大天数
Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year); //year 为 int
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0          
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH) ......

关于JAVA的try catch finally的一个问题

class TestTryFinallyC {
public static void main(String[] args) {
System.out.println(testt());
}

public static int testt() {
int x = 99;
try {
return x;
}finally {
x = 8;
}
}
}

某年某月的某一天, ......

java读取xml文件

import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReadSetting {
......

java优秀书籍


      
 
1)Java Language Specification, Third Edition (by James Gosling) 
 
     本书由Java技术的发明者编写,是Java TM编程语言的权威性技术指南。如果你想知道语言之构造的精确含义,本书是最好的资源。      
&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号