我已经有了正在被重用的cpp代码,它可以与硬件进行交互,并具有向设备发送消息的广泛功能。你知道吗
运行时影响是一个重要的考虑因素,它运行在一个非常有限的arch发行版上,由于硬件原因,我们不想做太多更改。你知道吗
对我来说,使用一种脚本语言进行接口是最有意义的,这种脚本语言可以很容易地生成,并具有一组可以在命令中加载的对cpp基的引用。(有点像插件系统)
Python-是一个非常好的选择,但我几乎没有使用嵌入式Python的经验,我已经研究过它,我想我可能会困惑的是,如果没有pybind11和嵌入式Python这样的东西一起工作,解释脚本将如何链接到原始程序中的功能。宾德当然有吸引力。请不要助推-可能有点。你知道吗
LUA是一个健壮的选项,经过了很好的测试,但在命令下生成要困难一些。LuaBridge也有我想要的功能。最担心的是运行时影响,但我当然不是专家。你知道吗
只需像普通人一样在cpp中完成整个过程并加载库-这是一个可靠的选项,但很可能是最难轻松生成和运行语法检查的选项。你知道吗
使用脚本语言完成整个过程,并消除编译器的开销——我的意思是技术上这是一个选项
当然,这些并不是所有的选择,但这远远超出了我的专业领域,我认为这将是有益的讨论。你知道吗
我真的很想知道我应该花时间研究什么。我已经花了太多的时间研究pybind,我发现自己晚上睡不好觉。你知道吗
理想情况下,此工作流的运行方式如下:
在主控制器上:
运行接口程序(cpp)
接口程序进行诊断并检查模块状态(已完成)
接口检查运行脚本以执行模块功能
剧本:
从某些来源生成
运行测试以验证生成没有语法错误
移动到一个文件夹中,接口程序可以在其中获取它(以“完全”安全的方式)我开玩笑的,我知道该设置的问题,但我们现在不考虑它
那是超长的,我很抱歉,我只是很失落,走出了我的舒适区。你知道吗
是的,我很抱歉我没有解释为什么生成的代码很重要。我们构建了一个非常简单的顶级gui来与硬件交互,并且需要将其转换为一个脚本来与控制器的主界面交互。你知道吗
我昨晚想到的另一个选择是:
编写一个非常简单的自定义脚本语言,我可以在cpp端进行解析并以这种方式链接
如果您正在生成一个脚本,那么您可能可以将事情简化为一个简单的字节码来进行解释。这样你就不必去搞语法分析或语法验证了。每个“指令”可以是一个简单的操作码,后跟零个或多个操作数,其中每个操作数将是整数、浮点或字符串(以及硬件支持/需要的任何其他基本数据类型)。您可以使用类似msgpack的方法对指令进行紧凑的编码和解码。你知道吗
如果该模型起作用,您可以逐渐在开发人员端添加工具,例如最小的汇编器,甚至是生成字节码的脚本解释器,从而避免受限硬件环境中的任何复杂性。你知道吗
相关问题 更多 >
编程相关推荐