00000001.htm

来自「水木清华BBS」· HTM 代码 · 共 113 行

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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?