分别在windows和linux上编译cjson为动态链接库,用在loadrunner中解析json

本文介绍了如何在Windows和Linux环境下编译cjson为动态链接库,以便在LoadRunner性能测试脚本中解析JSON数据。在Windows上,推荐使用Code Block进行编译,而在Linux上则需手动修改Makefile以编译32位动态库。文章还提及了LoadRunner加载动态库时的注意事项以及存在的平台切换问题。
摘要由CSDN通过智能技术生成

1、背景

最近的性能测试中,压测的某些接口返回的数据是一个复杂的json格式的字符串,而后续的接口中又需要把这个字符串修改后作为入参,自己处理起来比较麻烦。于是想到了把cjson编译成动态链接库在loadrunner的脚本中调用。另外,由于实际压测用的是部署在linux上的负载机,还需要再编译一个linux上的动态链接库。这样在调试时使用windows平台的dll,而在压测时使用linux平台的so。
先附上我编译好的动态链接库,可以直接在loadrunner中使用http://download.csdn.net/download/ultrahook/10126401

2、cjson

cjson是一个开源的json库,它的优势在于完全用c实现,因此适用性相当广,用在loadrunner中也是毫无压力。它的git主页是https://github.com/DaveGamble/cJSON

3、windows平台

  1. 打开vsual studio(更改:建议使用code block,用vs2015编译的dll在lr11上不能使用。用codeblock打开vs的工程编译即可),新建一个win32程序,程序类型选择dll,附加选项选择空项目。
  2. 把cJSON.c和cJSON.h拖到工程里。
  3. 设置编译选项为release、x86
以下是在Windows编译和使用cjson库的步骤: 1. 下载cjson库的源代码,可以从官方网站上下载,或者从GitHub上下载。 2. 安装MinGW-w64,这是一个Windows平台下的GNU编译器套件,可以用于编译cjson库。 3. 将MinGW-w64的安装路径添加到系统环境变量,例如将C:\MinGW-w64\mingw64\bin添加到系统环境变量的Path变量。 4. 打开命令提示符窗口,进入cjson库源代码所在的目录。 5. 在命令提示符窗口输入以下命令,编译cjson库: ``` gcc -c cjson.c ar rcs libcjson.a cjson.o ``` 第一条命令是编译cjson.c文件,生成cjson.o目标文件;第二条命令是将cjson.o目标文件打包成静态库文件libcjson.a。 6. 编译完成后,在cjson库源代码所在的目录下会生成libcjson.a静态库文件。 7. 在需要使用cjson库的代码,包含cjson.h头文件,并链接libcjson.a静态库文件。例如: ``` #include <stdio.h> #include "cjson.h" int main() { cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "John"); char *json_str = cJSON_Print(root); printf("%s\n", json_str); cJSON_Delete(root); return 0; } ``` 在编译时,需要指定libcjson.a静态库文件的路径和名称,例如: ``` gcc -o test test.c -L. -lcjson ``` 这里假设test.c是包含上述代码的文件,-L.指定静态库文件的路径为当前目录,-lcjson指定要链接的静态库文件为libcjson.a。 8. 运行编译后的可执行文件,即可使用cjson库。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值