自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 利用jna调用使用C#的dll文件

目前所做java项目中有部分模块需要使用客户提供的dll动态库文件中封装的算法,客户提供了一个dll文件以及C#语言编写的可执行文件实例,算法具体代码未提供。之前只涉及过利用jna调用c++所生成的dll文件,最终的目的则是需要java调用C#生成的dll文件。       本人涉及dll的封装操作不是很久,暂时未能找到java利用jna调用C#生成的dll的更有效方法,于是采用一种变通的方法

2017-11-29 22:32:41 5917 4

原创 绘制频谱图所需数据精简算法

前段时间项目需要根据收到的频谱信号数据包解析出用来画频谱图的数据,解析之后的的数据点至少有3000多个,而对于要求来说,频谱图只是给人一个大概的趋势即可,用户不可能注意到真实数据的每一个细节,经过实验验证,频谱图只需要800多个照样能够真实反映信号的趋势,这就需要进行数据点的抽取。抽取的大概思路是,假如要从3000个点中抽取800个点,需要将3000个点分出800份,每一份取值最高的点。c

2017-08-24 22:15:57 3834

原创 使用百度map画扇形覆盖物

前段时间需要使用百度map做一个发射信号的项目,在地图上需要体现出扇形的发射效果,查了一些资料,百度地图的api没有直接可以画扇形的方法,不过可以使用画多边形的方法来画扇形,扇形是圆形的一部分,这就需要给出圆心的坐标,半径,夹角等信息,根据这些信息计算出圆弧上的点坐标,画出完整的扇形。直接上代码。//以画多边形区域的方法画扇形区域 画出以point2点为圆心,半径为radius,夹角从sD

2017-08-23 22:23:58 2817 1

原创 dll回调给java的函数参数需要有字节数组类型参数的处理

这段时间通过jna框架搞java调用dll的函数的程序,并且涉及到了回调函数,回调函数即dll传给java参数,由java来处理这些参数,一般的c++封装的dll文件涉及的回调函数参数有String和int,很少有涉及字节数组,而这次的项目需求是通过dll的函数建立ip及端口号的连接,并收取字节数组的数据,收到之后交由java实现的回调函数进行处理。c++表示字节数组一般为BYTE *,如果在ja

2017-08-22 22:04:00 1984 1

原创 java调用dll时回调函数的实现(jna)

java调用dll文件需要使用回调函数作为公开函数的参数时,用以下方法实现:首先,看c++中定义的dll公开函数:typedef void (*ccback)(char *name ,int length); int dllFunction(char *ip, int port, ccback cc); 引用dll文件方法不再赘述,直接看回调函数的实现,需要通过java的接口实现

2017-08-21 22:28:15 7347 4

原创 java以字节流形式读写文件

java中以字节流的形式读取文件采用的是FileInputStream,将指定路径的文件以字节数组的形式循环读取,代码如下:public void ReadFileByByte(String path){ try { int length = 0; byte[] Buff = new byte[1024]; File file = new File(path); Fil

2017-08-21 22:15:13 3415

原创 java程序调用dll文件方法

最近有个项目需要使用Java程序调用c++编写的dll文件,由于之前没有涉及过此类要求,属于摸着石头过河,一边查资料一边试验。采用的方法是通过jna框架实现的。需要在java项目导入必须的jar包,即jna.jar,我所使用的是4.1.0版本。首先需要新建一接口,dll动态库的加载以及动态库的公开方法的声明都是通过此接口实现的。写法如下。package com.test; i

2017-08-20 21:56:23 2127

原创 使用vs2010生成64位的dll文件

最近有个项目需要使用java程序调用c++编写的dll文件,由于之前没有涉及过此类要求,属于摸着石头过河,遇到各种问题,其中一个便是dll文件版本问题。 由于现在的jdk一般都是64位版本,所需要调用的dll文件最好应是64位版本的,不然会出现“不是有效的win32应用程序”的错误。 此种情况下,需要根据已有的dll文件的源程序重新生成64位的dll文件。 首先,用vs2010打开之前dll项

2017-08-20 21:32:40 11936

原创 使用DevExpress导出GridControl控件数据到excel文件

使用DevExpress可以实现将界面的GridControl的内容直接导出到excel文件,一般实现方法如下所示: public void export(GridControl gridControl1) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveF

2017-01-09 16:12:13 5896

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除