Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 开发环境沙箱_C++_C_Virtual Machine_Lxc_Linux Containers - Fatal编程技术网

C++ 开发环境沙箱

C++ 开发环境沙箱,c++,c,virtual-machine,lxc,linux-containers,C++,C,Virtual Machine,Lxc,Linux Containers,在Linux中开发时,将开发环境与系统隔离的标准方法是什么?例如,当我处理系统已经使用的应用程序或包时。我知道我可以使用虚拟机。Linux容器也可以使用吗?这种隔离在虚拟化和容器之前是如何执行的?“chroot”是这方面的工具吗?我正在做C和C++开发。没有真正的总体标准,但是有很多或多或少的标准方法取决于技术栈。例如,virtualenv在python中非常普遍。节点至少有两个常用选项 许多人使用虚拟机,尤其是与vagrant(或docker和docker compose)等工具结合使用,以获

在Linux中开发时,将开发环境与系统隔离的标准方法是什么?例如,当我处理系统已经使用的应用程序或包时。我知道我可以使用虚拟机。Linux容器也可以使用吗?这种隔离在虚拟化和容器之前是如何执行的?“chroot”是这方面的工具吗?我正在做C和C++开发。

没有真正的总体标准,但是有很多或多或少的标准方法取决于技术栈。例如,virtualenv在python中非常普遍。节点至少有两个常用选项

许多人使用虚拟机,尤其是与vagrant(或docker和docker compose)等工具结合使用,以获得更轻的解决方案

我的理解是C和C++在他们所需要的工具方面是相当轻的。看见但是,如果您包括操作系统级的依赖项,比如DB驱动程序等,那么您可能需要一些东西来处理不同项目的不同环境


查看vagrant以及一些虚拟机技术或docker plus docker compose。

Red Hat通过its(DTS)提供更新的GCC版本(如5.2)。这些较新的GCC版本沿着系统工具链运行,所以当它安装在文件系统的另一部分时,您不会把事情弄糟。这可能足以满足您的需要,但如果您还需要容器隔离,还可以通过Red Hat container development kit()使用一个容器。Linux容器尽可能接近Linux上的标准隔离环境,无论是用于开发还是用于其他目的。例如,您可以找到大量的开发映像,或者基于您最喜欢的发行版,包括您需要的所有构建工具和依赖项


是另一个有助于管理构建环境的有用工具,但如果您使用多个平台的VM,则它最有用。如果您只打算使用Linux容器,那么您可能不需要Vagrant。

作为一个普通用户,您不能搞乱系统。由于设计为多用户,它已经可以保护系统和其他用户不受您作为用户所做的任何事情的影响。但是,如果您使用根隐私进行开发,那么您实际上禁用了这种保护,这是愚蠢的。现在,即使你是一个普通用户,也有保护措施。编译程序或库时,它不会自动出现在您的路径中,因此除非您显式更改,否则使用系统中的版本仍然是默认版本。我想知道你的问题到底是什么……谢谢,@UlrichEckhardt,我问这个问题的原因是我需要研究gstreamer及其插件。我正在开发的版本是1.5.0。然而,在我的系统上有1.4.5。