同一项目/计划的多个实例

时间:2013-12-02 15:09:52

标签: c++ multiple-instances instances

如何完成同一项目/程序的多个实例的分离,这意味着哪个机制分离了同一个项目/程序的两个实例的数据?

编辑: 例子:

  1. 使用写入程序两次并使用FILE1和FILE2时。大多数操作系统如何分离这两个实例?正如我在评论中读到的那样,文件会得到不同的内存块。内存块是否“获取”文件的名称,如块143可以由FILE1处理,块222可以通过FILE2寻址?
  2. 模拟:如果我在两个不同的数据输入文件上调用一个模拟类型(相同的命令行参数)。操作系统如何分离有关寻址不同内存块/实例的文件?
  3. 问候 streight

1 个答案:

答案 0 :(得分:1)

上述讨论的答案:

OS为每个程序或程序实例分配一定的内存块。你有没有试过访问随机内存?大多数情况下你的程序会崩溃。这是由于操作系统处理。如果访问未分配给您的内存,操作系统会自动崩溃您的程序(安全功能)。

program有一个单独的内存,program uses有一个内存。给程序运行的内存(类/函数名称所需的空间等)与运行期间分配的任何变量是分开的。

这都假设你的操作系统确实支持多个并行执行的进程 - 非常古老或非常有限的嵌入式系统甚至可能根本不支持这一点。你工作的很多板子(在学校里)不支持这样的东西,你必须自己写。

当您使用单独的文件调用同一程序时,每个文件都存在于其自己的内存空间中。不,他们没有被贴上标签。编译后不要尝试guess名称。它只是不起作用。

为什么?

1)它依赖于编译器。不同的编译器使用不同的方式。

2)它不是人类可读的(除非你自己编写编译器)(如果我错了,请纠正我)

操作系统/编译器为它们提供了一个唯一的名称(可能是时间依赖的,依赖于os或其他一百种)。这些节目彼此不了解并在自己的空间中运行。

信用:@Hulk @Mohammad Ali Baydoun