参考 http://www.cnblogs.com/AnnieKim/archive/2012/01/01/2309567.html
这片文章说的是 java 通过jni 调用 c 的dll,只不过环境用的是vs 作为我们java界当然喜欢一切开眼的东西了
这里改造成dev-c++这个开源c++ ide 来实现,其实就是工具上的差异
首先写java端不多说,建工程
public class APCluster {
public native int CallAPClusterDll(int data);
static {
System.loadLibrary("APClusterDllMedium");
System.out.println("I m in java");
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
new APCluster().CallAPClusterDll(65535);
}
}
C 端的
#include "APCluster.h"
#include <cstdlib>
#ifdef __cplusplus
extern "C" {
#endif
typedef int* (__stdcall *APCLUSTER32)(double*, unsigned int, bool);
JNIEXPORT jint JNICALL Java_APCluster_CallAPClusterDll(JNIEnv *env, jobject _obj, jint _arg_int)
{
printf("%d",_arg_int);
return 0;
}
#ifdef __cplusplus
}
#endif
重要步骤主要在C端
C 端:
把
%java_home%\include
%java_home%\include\
还有java端生成的 .h 文件的目录 一共三个都加入 c端的包含目录里来
c端主要就这些了
java端,声明完类后
cmd 到javasrc下
编译刚辞那个源文件
重要的步骤是 执行
javah APCluster
这个是生成c用到的头文件
然后把C生成的dll放在 系统路劲下 就是 环境变量 path 任何一个目录下 比如c:\\windows
运行test 试试看!!
- 大小: 36 KB
分享到:
相关推荐
描述了如何从vc中调用dev-c++写的dll的过程与方法。 1、设置导出关键字__stdcall 2、修改vc调用方式为stdcall 3、实现函数调用call
这是对C语言中Socket基于C++类的简单封装(Dev-C++5.11版本),主要是为了调用简便。使用时导入头文件就可以用,如果有遇到问题可以在评论区反馈。
Java调用C++的dll生成的VS2015项目
完整的实现java跨平台调用C程序源码,包含JAVA源码和C源码以及编译后的demo dll。将dll放到jdk bin目录下,java 项目可以直接运行。若要修改dll可以,修改C源码后重新编译生成dll。该demo处理了多线程调用c,全局...
JAVA如何调用dll:用JNI调用C或C++动态联接库原来如此简单
JAVA调用DLL JAVA调用DLLJAVA调用DLLJAVA调用DLLJAVA调用DLLJAVA调用DLL
Android Studio3.0开发JNI流程,C++调用Java以及Java调用C++,C++/Java互相调用一个简单案例
Java调用动态链接库 Java 调用 DLL 源码
java调用c++ dll代码
亲测可用,java 成功调用dll函数。包含调用回调函数,springboot版本。最近由于公司业务需要,要调用dll文件,用JNA调用。
VS2012-C++编写、调用DLL库最好的教程
用java调用C或C++动态链接库原来如此简单 java调用dll
java调用dll 文件的必备jar包和环境,java调用dll 文件的必备jar包和环境
java调用本地dll的几种方法性能对比测试。 JNA消耗的总时间(ms):5406 bridj消耗的总时间(ms):984 JNI消耗的总时间(ms):47 包含c++源码和java源码,部署和使用方法。在win7和winxp下测试用过。 部分源码是...
java 调用第三方DLL readWriteCard.cpp
Java调用dll示例,Java命名方法,C++实现生成DLL供JAVA调用
Java通过JNI调用Eclipse、MinGW编译C++出来的dll,仅仅是一个简单的示例,关键是整个流程要走通,详细参见:http://blog.csdn.net/yanzi1225627/article/details/18891613
JAVA如何调用dll:用JNI调用C或C++动态联接库原来如此简单
用VC++6.0编写JAVA能够调用的DLL,内附JAVA调用DLL的例子和C++编写的DLL例子
java 调用DLL的方法,使用教程http://blog.csdn.net/pplcheer/article/details/52234697