手动编译纯C代码为DLL库

  • Post author:
  • Post category:其他



前言

最近在研究心电图处理算法和散点图分析模型,涉及需要将一些纯C编写的源码编译为DLL供C#调用。

先说一下碰到的坑,因为vs2015支持编译C代码,原本希望用vs直接编译DLL,发现需要各种配置,还出现各种编译问题、链接问题,差点崩溃;最后以试试看的心态用命令行进行编译生成,一次就成功了,看来化繁为简才是最有效的。

———————————————————————————–

下面进入正题,mark一下,供自己以后参考:

两点说明:

(1)编译器,我使用的是VS2015自带的cl

(2)编译DLL库的目的是方便其它语言调用,我的目标语言是C#


1. 打开vs2015的命令行工具

开始>Visual Studio 2015>Visual Studio Tools>Windows Desktop Command Prompts>Visual Studio 2015 x86 本机工具命令提示符


2. 在你要导出的函数(供外部调用的函数)前加上以下前缀

__declspec(dllexport)

例如:

我要提供的是RRDet()方法:

__declspec(dllexport) int RRDet(int datum, int init)


3. 执行编译和链接指令

    cl /c *.c
    link /OUT:MyDLL.dll /dll *.obj 

执行截图:


可用Viewdll查看接口函数是否有问题:




版权声明:本文为ReserveRainbow原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。