如何在linux下编写一个应用程序,如何在Linux中创建可编写脚本的应用程序

通常的方法是公开一些CLI命令,并允许用户在用户编写的任何shell /脚本语言中使用它们;见f.e. imagemagick,它公开了许多命令,用于在格式之间转换图像并应用转换.这适用于任何操作系统.

这也适用于交互式程序,尽管很少见.您可以使用D-BUS接口(在GNOME和KDE中越来越受欢迎),尽管它更适用于处理事件或发送简单命令.您可能希望创建一个交互式或类似守护进程的程序,它暴露D-BUS(甚至简单的基于套接字/管道的)接口,以及一些包装发送命令的简单CLI调用,以便界面更简单.请参阅moc / mocp(“控制台播放器上的音乐”)或xmms2.这适用于任何操作系统,但通常需要一些时间来计算不同操作系统的实现细节.

不要害怕嵌入完整的语言. Lua或Guile等语言的设计使它们非常易于嵌入且非常强大.对一种这样的语言进行标准化并不总是坏事,因为这意味着用户之间的代码可重用性更高……而且只有当您计划用户将大量代码编写为插件时,语言才真正重要.

有一些方法可以使用特殊库将API公开给多种脚本语言.你可以阅读它们f.e.这里:Kross@Wikipedia.我对他们没有经验.

我假设你的程序将是闭源的…然后我可以看到的最后一个选项是暴露某种API / ABI接口,可以被用户的C程序使用(例如编译到动态库).这样,用户就可以为他们想要的任何语言制作包装器,而且他们可以使用普通的C编写代码以提高速度.这种解决方案可能难以移植,但它为您(和您的用户)提供了灵活性.

请注意,过度设计脚本化很容易:最好将编程结构留给外部语言,并且只提供与程序交互的简单方法.我见过程序为脚本语言添加了自己的循环功能,即使它们没有为用户添加任何值:f.e.能够传递多个图像以立即转换,即使它没有使处理更快.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值