c - 如何将 TCL 和 Shell 脚本连接到 C/C++ 或任何其他语言?
问题描述
我在 TCL 和 Shell 中开发的脚本很少
- TCL 脚本 (project.tcl) 用于自动化项目创建和处理多个项目运行)
- 为结果分析创建 SHELL 脚本 (result.sh) 使用一组使用 sed、awk 和 grep 的命令进行错误处理。
我想通过将这些脚本嵌入到任何高级语言(如 C/C++ 文件)中来创建单个可执行文件。我们知道 TCL 是一个 C 库。什么样的接口文件 API 对实现这一点有用?
解决方案
- TCL 脚本非常简单,因为您可以很容易地嵌入 TCL 解释器。(API-参考:https ://wiki.tcl-lang.org/page/Tcl+C+API )
- 您可以简单地嵌入它们,在运行时提取它们(到 /tmp)并使用
system(...)
,或者您可以尝试将它们翻译成 C: sed: https://github.com/lhoursquentin/sed-bin awk: awk2c grep: I didn't找不到一些翻译工具,但 grep 使用PCRE,所以你可以使用这些。
要将它们放入可执行文件中,您可以从这些脚本中创建一个 .tar(.gz) 文件,将其嵌入二进制文件(使用 gcc mingw 嵌入二进制 blob),然后加载(并提取(例如,使用 zlib))它在运行时,到一个临时目录。
推荐阅读
- android - 安卓位置管理器不工作。我无法获取当前位置
- sqlmap - 缺少数据库参数。sqlmap 将使用当前数据库
- javascript - 当直接访问元素而不是记录 HTMLCollection 时,元素的 clientWidth 会有所不同
- spring - 如何在应用程序运行时应用在 application.properties 文件中所做的更改?
- git - 解决 .swm 文件中的合并冲突的最佳方法是什么?
- sql - 禁止重叠日期的约束
- google-cloud-platform - 谷歌云不允许 SSH
- php - 如何在 Laravel Eager Loading Array 中使用别名而不更改方法名称
- td-engine - 如何在 TDengine 数据库中删除表?
- python - 如何获取与模型中任何博客文章相关的标签列表 - Django