CTP JAVA_API(JCTP)编译(利用Swig封装C++动态库)linux版64位

12 篇文章 1 订阅
1 篇文章 0 订阅

前言:上篇中已经讲了windows下的Java API编译,这篇讲linux的。

0 欢迎交流

CTP_API技术交流群:767101469

https://github.com/nicai0609/JAVA-CTPAPI


1 准备工作

  • 下载linux下的libiconv库,自己编译,我这里用到的是liviconv.a静态库,可以到我github上下我编译好的。
  • 从上期技术官网获得linux版本的tradeapi。拷贝到相应linux环境目录底下。

2 通过swig获得jar包

linux和windows下的jar包得到方式是一样的,参考上一篇,可以直接拿来用

3 编译得到包装动态库so

将上一篇中windows下的thosttraderapi_wrap.cppthosttraderapi_wrap.h两个文件拷贝到linux相应的目录底下。现在linux目录底下的文件应该如下

libiconv.a
ThostFtdcTraderApi.h
ThostFtdcUserApiStruct.h
thosttraderapi_wrap.h
libthosttraderapi.so
makefile
ThostFtdcUserApiDataType.h
thosttraderapi_wrap.cpp
iconv.h

其中makefile的内容如下:

OBJS=thosttraderapi_wrap.o
INCLUDE=-I./ -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux
TARGET=libthosttraderapi_wrap.so
CPPFLAG=-shared -fPIC
CC=g++
LDLIB=-L. -lthosttraderapi
$(TARGET) : $(OBJS)
        $(CC) $(CPPFLAG) $(INCLUDE) -o $(TARGET) $(OBJS) $(LDLIB) ./libiconv.a                                                                              
$(OBJS) : %.o : %.cpp
        $(CC) -c -fPIC $(INCLUDE) $< -o $@ 
clean:
        -rm -f $(OBJS)
        -rm -f $(TARGET)
install:
        cp $(TARGET) /usr/lib

执行make命令,得到libthosttraderapi_wrap.so库,说明编译成功。

4 Java Demo

将jar文件,两个动态库so文件,上一篇中的Demo.java文件拷贝到同一个文件夹test中,该文件夹中清单如下:

libthosttraderapi.so
libthosttraderapi_wrap.so
thosttraderapi.jar
Demo.java

在当前目录下执行命令:

javac -cp ./thosttraderapi.jar Demo.java

编译成功后,执行运行命令:

java -cp ./thosttraderapi.jar:./ Demo

可以看到运行成功。

Linux 64位 CTP JavaAPI 点击下载

### 回答1: 上期ctp_api_c源代码.rar是一个包含CTP (中国金融期货交易系统) API的源代码压缩文件。CTP API是为了与中国金融期货交易系统进行交互而开发的一套接口。它允许开发人员通过编程语言来实现与交易系统的通信和交易操作。 该源代码包含了使用C语言编写的CTP API的实现代码。C语言是一种广泛使用的编程语言,非常适合开发高性能的软件。通过研究和理解这份源代码,开发人员可以了解CTP API的具体实现细节,并在此基础上进行二次开发。 该源代码压缩文件通常包含以下内容: 1. CTP API的源代码文件:这些文件包含了CTP API的各个功能模块的具体实现代码,如行情查询、委托下单、成交查询等。开发人员可以通过阅读这些代码来了解CTP API的调用方式和相关参数。 2. 相关的头文件和函数库:这些文件包含了CTP API的函数声明和必要的宏定义等信息。开发人员可以在自己的项目中包含这些头文件并链接相关的函数库来使用CTP API的功能。 3. 示例代码:源代码压缩文件中可能还包含了一些示例代码,用于演示如何使用CTP API进行实际的交易操作。开发人员可以参考这些示例代码来快速上手并进行二次开发。 总而言之,上期ctp_api_c源代码.rar提供了一个基于C语言CTP API实现的源代码,通过研究和使用该代码,开发人员可以在自己的软件项目中实现与中国金融期货交易系统的交互和交易操作。 ### 回答2: 上期ctp_api_c 源代码.rar 是一个压缩文件,里面包含了ctp_api_c的源代码。ctp_api_c是一个针对中国金融期货交易的API接口库,主要用于开发相关的交易软件。 在这个压缩文件中,我们可以找到所有关于ctp_api_c的源代码文件。这些源代码文件是以.c和.h为后缀的,分别表示源代码和头文件。 在解压缩后的文件夹中,我们可以看到一些主要的文件,如ctp_md.c,ctp_td.c等。这些文件对应着行情数据接口和交易接口的实现。除此之外,还有一些辅助文件,如ctp_common.c,ctp_utils.c等,用于提供一些共用的函数和工具。 通过阅读这些源代码文件,可以了解ctp_api_c的整体架构和各个功能模块的实现细节。其中,会包含一些关于行情订阅、交易下单、账户查询等相关的代码。 值得一提的是,ctp_api_c是基于C语言编写的,因此在阅读这些源代码时,需要对C语言有一定的了解。通过分析和理解这些代码,我们可以更好地理解ctp_api_c的使用方法和原理,并在此基础上进行二次开发,以满足特定的交易需求。
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值