chaoshu的个人博客分享 http://blog.sciencenet.cn/u/chaoshu

博文

DLL显式调用与TCP传输结构体

已有 3671 次阅读 2016-7-27 11:58 |个人分类:RTKLIB|系统分类:科研笔记|关键词:学者

1)DLL显式调用

把dll和lib文件都放在工程根目录,然后在需要调用的cpp中输入如下语句。

//把dll包含到工程下面来,用lib文件

#pragma comment(lib,"mySTRSVR.lib")

//包含dll接口函数,也就是include的文件中的函数;

_declspec(dllimport) int Open_Send_Strsvr(char *sendstr);

_declspec(dllimport) int Data_Send_Strsvr(char *buff, int n);

_declspec(dllimport) int Open_Receive_Strsvr(char *receivestr);

_declspec(dllimport) char* Data_Receive_Strsvr();

//然后就可以像一般的函数使用了

Data_Send_Strsvr(out,strlen(out));

2)定义一个结构体

typedef struct {      /* earth rotation parameter data type */

double mjd;         /* mjd (days) */

double xp, yp;       /* pole offset (rad) */

double xpr, ypr;        /* pole offset rate (rad/day) */

double ut1_utc;         /* ut1-utc (s) */

double lod;         /* length of day (s/day) */

}erpd_t;

erpd_t t1 = { 100 }, t2;

memcpy(out, &t1, sizeof(erpd_t));

memcpy(&t2, out, sizeof(erpd_t));


发送字符串和发送结构体最大区别就是:字符串是既可以拷贝内容又可以拷贝地址,而结构体只能拷贝地址;

也就是strcpy()和mencpy()的区别,所以都改成mencpy()是最好的。





https://m.sciencenet.cn/blog-858128-992990.html

上一篇:DLL项目建立及调试方法
下一篇:[转载]powershell使用vim

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 08:46

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部