在Java中调用C++
在java中调用自己的c++代码是一件简单的事情,以下类为例:
class Prompt {
private native String getLine(String prompt);
public static void main(String args[]) {
Prompt p = new Prompt();
String input = p.getLine("Type a line: ");
System.out.println("User typed: " + input);
}
static {
System.loadLibrary("MyImpOfPrompt");
}
}
我们希望在Prompt类中可以调用c++下的getLine函数,第一步就是先编译该java文件:
javac Prompt.java
此时应该已经生成了Prompt.class文件,然后使用命令:
javah -jni Prompt
即可生成相应的.h文件,其内容为:
JNIEXPORT jstring JNICALL
Java_Prompt_getLine(JNIEnv *, jobject, jstring);
事实上Java调用c++只需要满足一个接口命名规范即可,而javah -jni命令则为快速生成接口提供了方便。
最后,记得将你的c++代码编译为libMyImpOfPrompt.so
更详细的规范及操作可以参见
http://journals.ecs.soton.ac.uk/java/tutorial/native1.1/implementing/index.html
相关文档:
keytool -genkey -dname "CN=demo, OU=softDept, O=company,
L=puddong,S=shanghai, C=cn" -alias demo -keyalg RSA -keysize 1024
-keystore demoKeystore -validity 3650 -storepass storePwd -keypass
demoPwd
生成保存公钥和私钥的密钥仓库,保存在demoKeystore文件中。这里storepass ......
import java.io.*;
public class FileReaderSample {
public static void main(String args[]) throws IOException
{
// 建立可容纳1024个字符的数组
char data[]=new char[1024];
// 建立对象fr
FileReader fr= ......
本文主要通过两台机器,搭建MQ消息传输的环境,并编写测试程序进行测试。
第一、准备工作
准备2台Win2000环境(XP也可),通过以太网连通。
机器A:代码为00000000,IP地址为:10.1.1.1
机器B:代码为88888888,IP地址为:10.1.1.2
安装MQ 5.3
第二、创建MQ对象
A机器上:
1、打开“WebSphere MQ资源管理器&rd ......
1. ObjectInputStream 与 ObjectOutputStream的读写对象可以以对应的顺序进行多个对象的读写。
2. Break Loop label。 在循环语句前加上一个label,如label1: 然后在循环体的语句中加入break label1,即可跳出该循环,无论其是内层循环
还是外层循环。 ......