- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试编写一个简单的判断来编译和执行用户提交的 c 文件。我找到了 libsandbox和一个 question在 stackoverflow 上。
我已经安装了 python 模块,并按照说明尝试运行用 C 编写的 hello world 程序
➜ sandbox git:(V_0_3_x) ✗ ./hello
Hello World%
➜ sandbox git:(V_0_3_x) ✗ python sample2.py hello
result: RF
cpu: 2ms
mem: 288kB
如您所见,当我在沙箱中运行程序时,我没有得到任何输出。如果有人能告诉我如何正确使用它,那就太好了。
最佳答案
libsandbox
示例代码禁止系统调用文件操作,如open()
、stat()
、close ()
。也就是说,您需要 (1) 静态链接 hello world 程序以避免打开共享库等文件(即 libc.so
),或者 (2) 编写允许相关系统调用的自定义沙箱策略。可以在 https://github.com/liuyu81/TR-OJA-201209A 找到有关自定义沙箱策略的一些示例。 .
免责声明:我是 libsandbox
的作者。
关于linux - 我如何开始使用 libsandbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14059868/
我目前正在开发一个在线 C/C++/汇编编译器,我偶然发现了一个名为 libsandbox 的好软件。这使我能够运行在线编写的代码,对其进行编译并拦截系统调用(如果已发出)。 首先,我是 Linux
我正在尝试编写一个简单的判断来编译和执行用户提交的 c 文件。我找到了 libsandbox和一个 question在 stackoverflow 上。 我已经安装了 python 模块,并按照说明尝
当我在编译沙箱 c 程序后尝试运行 .out 文件时,出现以下错误: ./sandbox: error while loading shared libraries: libsandbox.s
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我正在使用此处列出的 sample2.py https://github.com/openjudge/sandbox作为调用沙箱库的包装器(又名。libsandbox && pysandbox)。 以
我是一名优秀的程序员,十分优秀!