欢迎来到天天文库
浏览记录
ID:57688597
大小:21.00 KB
页数:2页
时间:2020-09-01
《Java调用动态链接库通用方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java调用动态链接库(*.DLL)1.*.dll文件用一般使用何种语言何种软件编写?*.dll文件一般用C语言、VC++、Delphi、C#等语言和相应的开发工具编写。如果要考虑广泛的兼容,一般使用VC++或者C语言编写,可供java、VC、Delphi、PB、VB、C#等语言调用2.Java如何调用C语言已经编写的DLL?以D盘下的LEDSender2014.dll文件为例第一步:定义一个接口,继承DLL的功能类publicinterfaceVsLedDriverextendsLibrary{VsLedDriverINSTANCE=(VsLedD
2、river)Native.loadLibrary("D:\LEDSender2014",VsLedDriver.class);//以下为接口VsLedDriver继承来自Library的各种方法//态链接库初始化voidLED_Startup();//填写网络通讯参数,供发送时使用intLED_UDP_SenderParam_ByReportName(intindex,intlocalport,StringremoteIP);//获得某个在线控制卡的上报控制卡名称StringLED_Report_GetOnlineItemName(intserve
3、rindex,intitemindex);}其中,<1>Library是LEDSender2014.dll文件中的功能函数<2>"D:\LEDSender2014"是绝对路径,也可以是相当路径。如果把LEDSender2014.dll文件放到Java项目目录下,当前路径可以写为"LEDSender2014"<3>java和C语言的数据类型的对应关系:unsignedchar用char;unsignedint用int;unsignedchar*、和unsignedint*这两个是指针,第一个是取1位地址内容的,第二个根据系统而定,一般是取4位地址值的
4、,用java的String对应第二步:在其他类中直接调用接口中的方法publicclassLEDSendServer{publicsynchronizedvoidsend(Stringtitle,StringledIP,Stringpath,intlocalport){VsLedDriver.INSTANCE.LED_Startup();//动态链接库初始化,单独启动或者做成EXE需要开启此方法ints=VsLedDriver.INSTANCE.LED_UDP_SenderParam(0,localport,ledIP);//加载LED驱动,并与LE
5、D建立连接}}
此文档下载收益归作者所有