LoadRunnder 使用外部的动态链接库

在LoadRunner中使用外部的动态链接库有两种方式,一种是通过Param,另外一个就是直接加载并且使用。开始看到网上有人说是用dll中的函数的话,返回不能是字符串,另外就是参数是字符串的也是只读的,不能更改。这样的话,调用dll就真的是限制太大了。不过后来测试发现,不存在上面两个限制的。

通过Param来使用 外部的dll,要设置Param的类型是User Defined Function,设置dll的路径和方法名称,这个方法貌似是不能有参数的。这样就可以使用了。不过对于这样的方式,Param的值是从函数返回的,返回字符串就比较麻烦了。因为返回字符串,除非是常量字符串,否则都要new(malloc)那么没有地方去释放。

另外一种方式就是类似于C的写法了,直接使用lr_load_dll加载动态链接库,然后直接使用动态链接库中的函数,不过这里面要注意一点,如果函数返回值不是int,要事先声明一下,就是要在代码头部写 extern char * yourFunc();就可以使用了。开始在写C的时候,忘了C必须在代码前定义变量,而不能在代码中定义,然后编译出错,看看是写在Action中,以为有什么限制,很是不解,后来是在另外一个同事那里又试的时候,想到的。唉。基础都忘了。另外就是如果需要dll中产生以下数据,传递接收的buffer给函数,在dll外部分配好空间。这很重要,因为dll内部分配的内存在外部是没有办法直接释放的,因为EXE和DLL,也包括多个dll都是由自己独立的堆的!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值