• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 我VC做的底层接口怎样才能在JAVA上应用?

我VC做的底层接口怎样才能在JAVA上应用?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了底层接口,android底层接口,java的底层c,java底层技术,java底层等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 我VC做的底层接口 怎样才能在JAVA上应用?
描述:

作成动态连接库的形式 还是控件
大家给我讲讲  :)
谢谢拉


解决方案1:

做个DLL,然后JAVA要用JNI来调用.
1、总体说明:
实现一个函数,传入整形数i,返回值i*i,这个函数做在DLL中,java将通过JNI调用这个函数,传入一个参数,得到返回值。
确定DLL的名称为calldll.dll,函数shanfei(int i)。
2、编写java程序javacall.java,如下:
public class javacall
{
static
{
System.loadLibrary("calldll");
}
public native static int shanfei(int i);
public static void main(String[] args)
{
javacall jc = new javacall();
int j;
j = jc.shanfei(4);
System.out.println(j);
}
}
3、编译
javac javacall.java
4、生成头文件
javah javacall
生成javacall.h文件
5、制作VC++动态库
建立新DLL工程,程序中添加:
#include "javacall.h"
JNIEXPORT jint JNICALL Java_javacall_shanfei (JNIEnv *, jclass, jint p)
{
int j = p*p;
return j;
}
别忘了将javacall.h复制到VC工程目录中,然后编译,如果编译说找不到jni.h文件,可以将jni.h复制到工程目录中,还可将javacall.h文件中的#include <jni.h>改为#include "jni.h",再编译。
6、java调用
将生成的calldll.dll文件复制到javacall.java所在的目录中,运行
java javacall,应该可以看到运行结果。

解决方案2:

写一个Dll的外壳,用JNI调简单些

解决方案3:

java中就是通过jni来调用dll

解决方案4:

做成COM吧,因为这个易于在大多数情况下可以被调用!!

解决方案5:

做成COM然后用JACOB(开源项目)


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 我VC做的底层接口怎样才能在JAVA上应用?

相关文章

  • 2017-06-05 在遍历进程的时候,怎么得到一个进程所用内存的大小?????
  • 2017-06-04 ATL窗口(dll)如何嵌入网页?
  • 2017-06-05 这个dll调用错在哪里???
  • 2017-06-04 ocx注册的问题~~~
  • 2017-06-05 MFC向excel中写数据,打开的文件为只读,如何去掉
  • 2017-06-04 如何向excel中写入数据?
  • 2017-06-04 DCOM应用服务在局域网调通,在广域网上是否也适用
  • 2017-06-05 请问如何使一台机器只运行进程的一个实例??
  • 2017-06-04 VC2003中如何使用VC6的开发的COM的dll?
  • 2017-06-05 组件中什么时候调用Release

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Win7下RegisterClass失败,求指导
    • 请问要hookTB_GETBUTTONINFO这个msg,应该用那个hook?
    • 如何用程序向一个exe文件动态添加资源文件,并在该exe运行的时候读取该资源文件???急ing
    • VK_LEFT、VK_RIGHT在IE中不被识别???
    • IE中嵌入一个ActiveX控件
    • ?哪位贵人有COM编程精彩实例的光盘源码
    • Teechart怎么画3D图
    • 求教高手?1一个关于数组的问题,2关于转让系统控制权的问题,3中止自己程序中运行线程的问题!
    • 本人写了一个测量程序。如何在运行时将程序的优先级从中变成实时?
    • 一个线程的问题!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有