ctp java_CTP API 开发之二 :制作CTP java版 API

本文介绍了如何在Windows 32/64位平台上利用Swig工具,将上期技术CTP系统的C++ API转换为Java可调用的接口。详细步骤包括下载CTP API包和Swig,创建接口文件,生成Java接口,编译动态库,最后创建Java项目并加载库文件,完成Java版CTP API的制作。
摘要由CSDN通过智能技术生成

目前上期技术CTP系统提供的API版本是C++版本

SWIG是一个能将C/C++接口转换为其他语言的工具,目前可以支持Python,Java,R等语言。

本文主要介绍Windows 32/64位平台下利用Swig工具将CTP C++接口API转换为Java可调用的接口。

1、从CTP官网下载最新API包,包中包含32位和64位。API文件包清单:

7c427ad0be08f90bfc940a90652b0186.png

2、下载安装Swig软件:

c76cb5e523753e7dffce958ccb6a02d3.png

3、在API文件包中创建thostapi.i 和various.i文件,thostapi.i是一个接口文件,用于告诉swig为哪些类和方法创建接口

various.i是用于将C++接口中的数组参数转换为java 的Array的工具类

%module(directors="1") thosttraderapi%include "various.i"

%apply char **STRING_ARRAY { char *ppInstrumentID[] }%{

#include"ThostFtdcMdApi.h"#include"ThostFtdcTraderApi.h"

%}%feature("director") CThostFtdcMdSpi;%include "ThostFtdcUserApiDataType.h"

%include "ThostFtdcUserApiStruct.h"

%include "ThostFtdcMdApi.h"

%feature("director") CThostFtdcTraderSpi;%include "ThostFtdcTraderApi.h"

4、生成java接口:

在当前文件夹创建src/ctp文件夹用于放置生成的java文件

..\..\swigwin-2.0.11\swig.exe -c++ -java -package ctp.thosttraderapi -outdir src -o thosttraderapi_wrap.cpp thostapi.i

运行完成之后,可在当前文件夹中看到用于包装原来C++接口的文件:

JCTP 0.3.2 2013-2-27 增加:JCTPStructUtil工具类 修正:交易API部分函数出现空指针异常的问题 修正:行情API部分函数出现空指针异常的问题 变更:发布包中增加JCTP.jar *********************************************** JCTP 0.3.1 2013-2-26 修正:交易API部分函数出现空指针异常的问题 *********************************************** JCTP 0.3 2013-2-26 增加:完成对交易API的封装 增加:格式化结构体方法注释为javadoc格式(暂未转成中文) 增加:优化结构体属性的调用方式,增加getter/setter方法,隐藏bridj框架代码 修正:解决Bridj框架中一处与CTP接口的兼容问题 修正:解决回调方法中结构体的属性值为中文时出现乱码的问题 变更:移动util包到jctp路径下 变更:发布本号格式更改,缩进1位 *********************************************** JCTP 0.0.2 2013-1-31 增加:JCTPLibraryUtil类,用于初始化CTP环境或卸载CTP环境 增加:JCTPMdApi类,将Bridj调用CTP的代码隐藏 增加:JCTPMdSpi类,将Bridj调用CTP的代码隐藏 增加:JCTPTraderApi类,将Bridj调用CTP的代码隐藏 增加:JCTPTraderSpi类,将Bridj调用CTP的代码隐藏 修正:Spi回调时报空指针,无法进入回调方法的问题 修正:无法调用带参数的CreateFtdc.....Api函数的问题 修正:只能在调试模式下进行回调的问题 变更:CTP动态链接库置入jar包 变更:将JCTP相关类独立出CTP调用包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值