GMSDK Java API
掘金C++ SDK的Java接口打包实现
本项目实现了在Windows平台上,使用SWIG封装掘金C++版本的SDK,生成JNI代码以及可被调用的DLL动态库。
%{
/ i文件中(例如变量类型)使用到的头文件 /
%}
/ SWIG要解析的头文件 /
%feature(“director”) Strategy;
%include “gmapi.h”
%include “error.h”
%include “gmdef.h”
%include “strategy.h”
/ 初始化 template class /
/ 参考用例:%template(doubleList) List
%template(AccountDataArray) DataArray
%template(BarDataArray) DataArray
%template(CashDataArray) DataArray
%template(ExecRptDataArray) DataArray
%template(OrderDataArray) DataArray
%template(ParameterDataArray) DataArray
%template(PositionDataArray) DataArray
%template(SymbolDataArray) DataArray
%template(TickDataArray) DataArray
%template(TradingDateDataArray) DataArray
%include
%extend Tick {
Quote getQuoteAt(int index)
{
return self->quotes[index];
}
}
5. 在1.swig-java目录打开PowerShell,运行SWIG生成Java文件到预先创建的src目录
```PowerShell
swig -c++ -java -package io.ft.api.gm -outdir ./src -o gmsdk_wrap.cpp gmsdk.i
-c++ 指定当前语言是C++还是C,默认是C,只有这两种,没有其他的
-java 生成的包装语言,可以使其他任何一种支持的语言 如-python -csharp
-package 生成的Java包名
-outdir Java文件的输出目录
-o 输出的CXX文件名,这里我们重定向到.cpp文件方便后面编译
error.h
gmapi.h
gmdef.h
strategy.h
gmsdk_wrap.h
gmsdk_wrap.cpp
gmsdk.dll
gmsdk.lib
jni.h
jni_md.h
jawt_md.h
简单写了一个gmsdk-java-demo项目,利用本项目编译出的依赖项调用掘金接口,仅供参考。