热度 22
2015-7-4 15:05
1391 次阅读|
0 个评论
在做 HMI 的时候,经常会用到一种叫做脚本的东西,可以自定义的实现一些逻辑控制等工作。这种自定义的逻辑控制可以对设备进行简单编程,而不需要重新开发软件,非常适合自动化的相关应用。 在使用 SylixOS 时,也想使其具备脚本功能,浏览相关资料发现已经支持了一个 C 语言解释器 Picoc 。 Picoc 是 google 开源代码项目中的一个项目,其初衷是在一个小的嵌入式设备实现 c 语言的解释执行。其核心代码只有 4000 行左右,可读性强,能够执行基本的 C 运行库。非常适合在机器人、无人机等自动化领域作为脚本使用。 在网站 https://github.com/jiaojinxing/tiny-c-interpreter 上已经有其工程。将其 git 到本地,发现这不是一个完整的工程,还需要使用 TortoiseGit 将其依赖的库 git 到本地 ( 右键 / TortoiseGit/SubMoudle Add) 。 实际上这里有两个工程,分别是 readline 和 tiny-c-interpreter ,在编译的时候需要先编译 readline 随后编译 tiny-c-interpreter 。 编译后将 libreadline.so 文件拷贝到 sylixos 设备的 /lib 目录下。 /lib 目录是 sylixos 动态链接库的默认路径。将 picoc 文件拷贝到 sylixos 设备的 /apps 目录下,实际上为了管理方便一般是在 /apps 下在建立一个 picoc 文件夹,将 picoc 文件拷贝的 picoc 文件夹里面,这样可以方便工程管理。 在工程“ tiny-c-interpreter/test ”目录下是 picoc 的测试工程例程,拷贝任意一个 .c 文件到 /apps/picoc 目录下,这里使用其自动测试 c 语言代码。执行命令,效果如下: # ./picoc 00_assignment.c 42 64 12, 34 # 说明 picoc 能够正常的解析 c 语言语句,并执行。 对于不习惯使用 git 的读者,可以通过 QQ:495129207 或 QQ 邮箱向作者索取工程文件或编译好的库文件和可执行文件均可。