悠 然

Softerware Tester

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

 

LR调用局部DllDll 制作过程

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.cpptest1.htest1.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

posted on 2007-06-25 16:10  悠 然  阅读(678)  评论(0)    收藏  举报