C#和C混合编程——C语言函数封装成dll
这次大作业小组利用C语言写嵌入式系统的c语言模拟实现大作业,最后的部分为组员使用winform设计GUI,在C#中调用C,该篇记录转载同学如何把C封装为dll。(原文链接)
大作业模拟温度传感器,C语言代码为两部分,一部分为sensor服务端serve,可以生成随机温度来模拟温度传感器,另一部分为workstation客户端client,可以使用其发送指令start来唤醒sensor,或者read来获取当前温度,二者采用tcp/ip协议通信。最后要把客户端做成GUI界面。
拿到组员给的代码,首先第一步将其函数化。把代码分成三个函数模块以后,准备开始制作dll。
使用Visual Studio Community 2019
1、创建新项目->Windows桌面向导->创建->类型选择“动态链接库(.dll)”勾选空项目->确定
2、在源文件右键->添加->.cpp,输入名称funhhh后点完成
在头文件右键->添加->.h,输入名称funhhh后完成
3、源文件下cpp文件写代码
#include "funhhh.h" //必须include头文件下的.h文件
#include "stdio.h"
//等头文件
int connectt(const char* ipp) {
//函数内容
}
char* communication(char* str) {
//函数内容
}
void stopp() {
//函数内容
}
4、头文件h文件下删除所有内容再声明cpp内函数
extern "C" __declspec(dllexport) int connectt(const char* ipp);
extern "C" __declspec(dllexport) char* communication(char* str);
extern "C" __declspec(dllexport) void stopp();
5、项目名右键->重新生成 之后可在debug目录下找到dll文件