C语言编写IDL动态可加载模块(DLM)入门

由于之前有些工作确实是可以直接从底层对数据进行读写的,如果采用动态链接库的话应该可以提高效率。
参考资料:

HARRIS对于DLM的官方说明
一个第三方的DLM,用于参考学习
另一个讲DLM的CSDN博客,但个人觉得太复杂了
安装路径下该文件夹中所有文件:/idl/external/dlm/*
安装路径下该依赖项头文件:/idl/external/include/idl_export.h

准备文件

  • 模块名.c:假如你的模块名叫mymodule,则mymodule.c即是用于编译的C源码文件。具体见下方讲解。
  • 模块名.dlm:该文件为/idl/external/dlm/中复件,用于注册DLM,前五行的参数自己看着格式随便改点就可以,重要的是第六行及之后的文本,具体见下方讲解。
  • {build_win.bat | Makefile}:(win平台是bat文件,unix平台是Makefile文件。)该文件为/idl/external/dlm/中复件,用于制作动态链接文件(mymodule.dll/mymodule.so),但这个文件并非通用,需要自己改参数,一是里面的IDL_DIR为安装路径,二是把里面的testmodule替换为你的模块名。这个文件并非必需,只是编译动态链接库会更快捷,当然也可以自己制作Makefile文件。

C源码讲解

其实不管是示例的testmodule还是另一篇博客里面都有好些不需要的,我做了很大的精简。
首先要把idl_export.h加进去。

#include <stdio.h>
#include "idl_export.h"

然后是定义自己在IDL中调用的过程或者函数,我定义的是passfn的过程,将字符串参数打印在屏幕上。

static void passfn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值