【发布时间】:2013-02-01 19:15:24
【问题描述】:
我试图在我的项目中使用libsandbox。我能够在这个沙箱中完美地运行 c/c++ 程序。 为了运行 c/c++ 程序,首先我必须将代码编译为:
g++ -lm --static <filename> 2> err.txt
然后我必须用上面的编译代码运行sample sandbox program。
请注意我上面使用的标志 --static 非常重要。--static 的重要性体现在以下两个stackoverflow答案Link1,Link2
现在,我想将这个沙箱用于 java 和 python。 但我不知道 python 和 java 的 gcc/g++ --static 等价物。
以下是否有效?
javac --static <filename> 2> err.txt
python --static <filename> 2>err.txt
我再说一遍,我很困惑,因为我不知道 java 或 python 中的 --static 等价物。
谢谢!
【问题讨论】:
-
作为一种解释性语言,Python 不做任何静态链接或其他链接。
-
Java 也没有。所有此类绑定都在运行时。你能解释一下你想要做什么以及为什么吗?
-
@PeterLawrey:先生,我刚刚编辑了我的问题以反映 --static 的重要性。
-
@ritesh_nitw 但是你为什么要这样做?
-
@peter Lawrey:被沙盒化的二进制可执行文件最好静态链接,因为加载共享库涉及默认禁止的系统调用,如 SYS_open()。
标签: java python sandbox static-linking dynamic-linking