BBS水木清华站∶精华区
发信人: cmusic (一飞冲天~燕入云), 信区: Java
标 题: 想在JAVA应用程序中调用C++写的DLL,该如何着手?
发信站: BBS 水木清华站 (Wed May 5 15:42:22 1999)
看了半天JAVA的高级应用,还是不知其所以然,哪位大侠救救急
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.120.123.252]
发信人: KHP (人之初), 信区: Java
标 题: Re: 想在JAVA应用程序中调用C++写的DLL,该如何着手?
发信站: BBS 水木清华站 (Wed May 5 22:30:50 1999)
【 在 cmusic (一飞冲天~燕入云) 的大作中提到: 】
∶ 看了半天JAVA的高级应用,还是不知其所以然,哪位大侠救救急
如果你有该 DLL 的源码,你可以按照 Java 中 native 库的编写办法,
写出程序框架-->生成头文件-->按照头文件改写原来的 C/C++ 程序,
重新编译生成新结构的 DLL。
如果有源码的话,改写这一步应该还是可行的。
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.163.77]
发信人: cmusic (一飞冲天~燕入云), 信区: Java
标 题: Re: 想在JAVA应用程序中调用C++写的DLL,该如何着手?
发信站: BBS 水木清华站 (Thu May 6 13:28:24 1999) WWW-POST
具体情况是这样的:
我们希望编一个以None-MFC为模板的DLL,但其中也用到一些MFC的通用类,如CString
和CFile等(在VC测试程序中证明可用),这个DLL的主要目的是实现远程串口通信。
DLL中拟有一个输出函数来实现通信功能,由JAVA应用程序调用,并返回一个有用的信
息。该函数用WIN32的串口通信API函数写成(能不能用控件MSComm有待斟酌???),现在
有些问题不太明白:
1. 第一步编写具有本地方法的类时是否需要改写想要调用的DLL库中的函数?有些什么
注意点呢?
2. JAVA与C的接口其中有一步叫做“开发C的执行文件”,这一步是怎么回事,如果是
改写,那DLL又有什么用处呢?
3. 有一个叫做MAK的文件必须是手工写的吗?
4. 如果说在JAVA中调用DLL太麻烦,能不能直接用JAVA写串口通信函数呢?因为对JAVA
不熟,不知道它是不是支持WIN32 API函数,或者它有自己的通信函数?
问题很急,请高手们多发帖子谈谈自己的经验,如蒙赐教,感激涕零!
【 在 KHP (人之初) 的大作中提到: 】
∶ 如果你有该 DLL 的源码,你可以按照 Java 中 native 库的编写办法,
∶ 写出程序框架-->生成头文件-->按照头文件改写原来的 C/C++ 程序,
∶ 重新编译生成新结构的 DLL。
∶ 如果有源码的话,改写这一步应该还是可行的。
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.120.123.252]
发信人: KHP (人之初), 信区: Java
标 题: Re: 想在JAVA应用程序中调用C++写的DLL,该如何着手?
发信站: BBS 水木清华站 (Thu May 6 22:32:29 1999)
呵呵,你早说用 Java 做串口通信事情就没那么复杂了。
前一段时间我也用 Java 做了一个串口通讯的程序,开始的时候没找到捷径,
也是这种想法,用 VC 编写本地 DLL 库,后来呢?去 java.sun.com 上一找,
呵呵,真是得来全不费功夫。
Sun 已经编写了用于串并口通信的 API,当然也是用 DLL 实现的。已经到比较成熟
的版本了,还有例子。这样用 Java 做串口通信的程序就很容易了,还可以移植到
Sun 工作站上。
废话少说,你可以从 java.sun.com 或我这儿下载 Sun 的 Comm API(包括文档和
例程):ftp://166.111.163.77/Develop/Java/JavaComm/javacomm20-win32.zip
【 在 cmusic (一飞冲天~燕入云) 的大作中提到: 】
∶ 具体情况是这样的:
∶ 我们希望编一个以None-MFC为模板的DLL,但其中也用到一些MFC的通用类,如CString
∶ 和CFile等(在VC测试程序中证明可用),这个DLL的主要目的是实现远程串口通信。
∶ DLL中拟有一个输出函数来实现通信功能,由JAVA应用程序调用,并返回一个有用的信
∶ 息。该函数用WIN32的串口通信API函数写成(能不能用控件MSComm有待斟酌???),现在
∶ 有些问题不太明白:
∶
∶ 1. 第一步编写具有本地方法的类时是否需要改写想要调用的DLL库中的函数?有些什么
∶ 注意点呢?
∶ 2. JAVA与C的接口其中有一步叫做“开发C的执行文件”,这一步是怎么回事,如果是
∶ 改写,那DLL又有什么用处呢?
∶ 3. 有一个叫做MAK的文件必须是手工写的吗?
∶ 4. 如果说在JAVA中调用DLL太麻烦,能不能直接用JAVA写串口通信函数呢?因为对JAVA
∶ 不熟,不知道它是不是支持WIN32 API函数,或者它有自己的通信函数?
∶
∶ 问题很急,请高手们多发帖子谈谈自己的经验,如蒙赐教,感激涕零!
∶
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.163.77]
BBS水木清华站∶精华区