【发布时间】:2013-07-07 13:35:49
【问题描述】:
我将在下面勾勒出我想要工作的场景。
我有一个主要应用程序。 该应用程序基于用户交互,可以在安全环境/外壳中加载其他应用程序。这意味着这些子应用程序不能再与操作系统交互,也不能相互交互。
父程序可以随时调用这些子程序的函数。 子程序可以随时调用这些父程序的函数。
有谁知道如何在 C++ 中实现这一点?最好父母和孩子都应该用 C++ 编写。
在父应用程序中加载子应用程序的性能并不重要。唯一重要的是孩子和父母在相互调用函数时的通信性能。
【问题讨论】:
-
fork()+exec()系列函数会帮到你。 -
@monad-newb 是的,它们是预编译的。
-
@dmh 用户应该能够在运行时添加和删除子应用程序。
-
没有标准的 C++ 方法可以做到这一点,答案必须是特定于操作系统的。请指定您的目标操作系统。
-
听起来您需要某种虚拟机,否则预编译二进制应用程序的可靠沙盒化可能会很困难。但可能最好的方法是让孩子使用脚本语言,这样他们就只能做父母为他们做的事情。