每个进程设置环境变量?

Dar*_*der 2 c++ setenv

我使用 setenv 动态分配文件名,如下所示:

setenv("file.name",filename.c_str,1);
Run Code Online (Sandbox Code Playgroud)

我很好奇这是否是每个进程的?

如果我有多个进程运行此代码但采用不同的文件名,是否会发生任何冲突?

可以说我有流程1

setenv("file.name",filename1.c_str,1);  
Run Code Online (Sandbox Code Playgroud)

和过程2

setenv("file.name",filename1.c_str,1);  
Run Code Online (Sandbox Code Playgroud)

我这样做会有什么问题吗?

谢谢。

Die*_*ühl 6

您设置的环境setenv()是每个进程的。本质上它只是进程中的一个内存区域。至少,UNIX 系统上是这样的。与此不同的getenv()是,它既不是 C 也不是 C++ 标准的一部分,而是 POSIX 的一部分。它在非 POSIX 系统上的作用(如果存在)可能会有所不同。