LR调用局部Dll及Dll 制作过程
在LR脚本中如果一些算法比较复杂,为了提示效率,可以将这些算法加入到dll,然后在LR中调用该Dll。
Dll的制作过程如下:
1. 启动VC6.0
2. 在FILE- >NEW- >PROJECTS中选择"WIN32 Dynamic-Link Library",在Project Name中输入 "test1",单击OK
3. 在FILE- >NEW- >FILES中选择C++ SOURCE FILE,在FILE中输入test1.cpp,单击OK
4. 在FILE- >NEW- >FILES中选择TEXT文件,在FILE中输入test1.h,单击OK
5. 在FILE- >NEW- >FILES中选择TEXT文件,在FILE中输入test1.def,单击OK
test1.cpp、test1.h、test1.def 文件内容如下:
test1.cpp
//test1.cpp
#include"test1.h"
int def_max(int a, int b)
{
if(a >= b) return a;
else
return b;
}
int def_sum(int a,int b)
{
return(a + b);
}
test1.h
// test1.h
int def_max(int a,int b);
int def_sum(int a,int b);
test1.def
//test1.def
LIBRARY "test1" ; 指出DLL的名字
DESCRIPTION 'test1 is Windows Dynamic Link Library' ; 描述DLL的用途(可选)
EXPORTS def_max @1 ; 导出函数的名字,@1为函数的序号
EXPORTS def_sum @2 ;
注意:当dll中包含2个以上的函数时,必须为函数加上序号
6. 点”编辑”à构建dll, 将工程路径\debug\的dll 和 lib文件拷到LR脚本目录下
7. 在LR中局部调用该dll,具体如下:
在action中的变量定义之后,加入语句:lr_load_dll(“test1.dll”)
Action()
{
int a,b,c,d;
a = 5 ;
b = 9;
lr_load_dll ("test1.dll");
c = desinit(a,b);
d = sum(a,jj);
lr_message ("The max of a,b is %d",c);
lr_message ("The sum of a,b is %d",d);
return 0;
}
注意:lr_load_dll ("test1.dll")一定要放在dll中的函数所调用的变量定义之后。
关于全局调有Dll,在实际工作中用的比较少,需要设置LR安装目录下的mdrv.dat。

浙公网安备 33010602011771号