怎么在C++项目中集成一个脚本解释器?脚本代码要能调用C++的库和类方法

[复制链接]
查看11 | 回复10 | 2021-1-27 06:56:27 | 显示全部楼层 |阅读模式
最近用C++完成了一个自动化测试平台,但目前测试用例也都是C++写的类,现在考虑到有些同事不会C++,
在这个框架下写测试用例比较难,我就考虑让他们用脚本语言写用例,然后将这些脚本当成我平台的输入,平台进行解析后执行(可能需要调用C++平台中的库,一些类的成员函数),然后输出结果。
另外一个方案就是自己在平台上定义一些简单的语法,命令,写测试用例时,在这个简单语法框架下调用这些命令,测试平台读取“测试用例文件”,然后自己解析,调用对应的类和成员函数。
求大神帮忙啊。。。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
投票在javascript,lua,python里随便选一个就是了三...
功能要求不多的话,自己写一个也不麻烦...
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
lua吧集成最简单但是我觉得让不会C++的哥们突然间用lua,我觉得他应该也会很难掌握特别是lua的语法较之js,python这些语言都差别挺大的,至少不是类C语法我觉得
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
总不至于复杂到要用Flex+Bison的程度吧。
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
考虑v8;
学过vb的lua很容易接受
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
引用2楼sniffer12345的回复:lua吧集成最简单但是我觉得让不会C++的哥们突然间用lua,我觉得他应该也会很难掌握特别是lua的语法较之js,python这些语言都差别挺大的,至少不是类C语法我觉得
lua集成简单,但是貌似不支持C++的虚函数吧?因为我这平台代码有很多类成员都是虚函数,lua脚本写用例,里边如果要调用这些成员,该怎么做?
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
引用1楼mLee79的回复:投票在javascript,lua,python里随便选一个就是了三...
功能要求不多的话,自己写一个也不麻烦...
对于脚本语言我是菜鸟。。。之前我也只是用过javascript和shell脚本,不知道怎么和C++项目混搭啊,就是说能否在用例脚本中调用我平台的类成员?了解了下,lua对调用C++虚函数无能为力?python是有用boost库吧?好像也是模块级别的通讯?
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
C++写功能,然后做成其他脚本语言能调用的库。用脚本语言来写测试或者应用。
C++->python,vba等。
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
文本处理不是C++的特长。
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
引用3楼zhao4zhong1的回复:总不至于复杂到要用Flex+Bison的程度吧。
这个建议好,肯定不会复杂,也许可以做一个简单的解释器,但得找个windows上的lex
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行