2016 - 2024

感恩一路有你

cmake添加c文件的方法 Mac下顺手的C/C 开发IDE是哪个?

浏览量:4229 时间:2023-09-24 08:43:00 作者:采采

Mac下顺手的C/C 开发IDE是哪个?

CLion是目前macOS上最好就是带的CIDE。肯定也可以不建议使用Sublimecmake插件的组合。

如何在windows上编译linux可用的动态链接库?

1、背景

最近的性能测试中,压测的某些接口直接返回的数据是三个紧张的json格式的字符串,而现的接口中又必须把这个字符串修改后作为入参,自己去处理下来比较好麻烦您。索性听到了把cjson代码编译成动态链接库在loadrunner的脚本中动态创建。别外,而实际中压测专用是作战部署在linux上的负载机,还是需要再代码编译一个linux上的动态链接库。那样的话在调试时使用windows平台的dll,而在压测时在用linu台的but。先附上我编译器好的动态链接库,可以真接在loadrunner中不使用

2、cjson

cjson是一个开源的json库,它的优势在于全部用c实现,并且适用性非常广,用在loadrunner中都是完全无压力。它的git主页是。

3、windows平台

然后打开vsualstudio(我带的是vs2015,其他版本也可以不,codeblock也绝对没问题,随你比较喜欢),新建一个win32程序,程序类型你选dll,只附加选项选择类型空项目。把cJSON.c和cJSON.h拖到工程里。可以设置程序编译选项为release、x86(重要的是!),编译。将编译程序出去的cjson.dll放在loadrunner脚本的根目录下,然后再在菜单File-Addfileneedscript,再添加cjson.dll。在代码中程序加载cjson.dll,接着就也可以使用cjson的函数了。先尝试看看,

123特别注意这里cjson_Version回的是指针,但loadrunner如果说是int,因为要显式转成指针,不然的话编译程序不通过。

一看cjson推导字符串的函数。它的用法追加:

12这里不需要用到cJSON.h中声明的结构体cJSON,但真接引用cJSON.h在loadrunner中程序编译但。这个也有好的办法,把cJSON.h中cJSON这个结构体的定义代码不能复制到action的顶部就可以了,如图cJSON.h中其他的变量或者宏也是可以,要是程序编译时报错,复制上来就可以了。

4、Linu台

下面再编译器一个linu台上的动态链接库,用在linux负载机上。cjson的代码中带了MakeFile,也有cmake,也可以再编译器。但如果linux系统是64位的,则设置成编译的是64位的oh,no,不能被loadrunner程序加载,会提示“wrongELFclass:ELFCLASS64”。我们要手动可以修改MakeFile,让它程序编译一个32位的oh,no。1.如何修改cJSON源码根目录下的MakeFile先打开MakeFile,分别在29、31、93、96行,提升-m32,如图2.在源码根目录下不能执行

12假如又出现提示“fatalerror:sys/cdefs.h:oh,nosuchfile有.directory”,必须再装一个感情依赖库

123.程序编译顺利后,会得到名为的动态链接库。把它复制到loadrunner脚本的根目录下,则是菜单File-Addfilecanscript,增加到脚本中。4.在脚本中运行程序yeah,这步和windows上是差不多的。那样脚本就可以在linux下运行了。linux上按装负载机也可以做个参考我的另一篇文章。

125、遗留问题

结果有个遗留问题,loadrunner隐隐不支持什么平台宏,我想用宏完全控制,在windows下读取dll,linux下读取so,但是没有找到解决方法。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。