|||
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()是最好的。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-6-2 08:46
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社