函数

GLibunsetenv

版本:2.4

声明 [src]

void
g_unsetenv (
  const gchar* variable
)

描述 [src]

从此环境中移除一个环境变量。

请注意,在某些系统上,当变量被覆盖时,用于前一个变量及其值所使用的内存不会被释放。

您应该注意,UNIX 中的环境变量处理并非线程安全,如果一个线程调用 g_unsetenv() 而另一个线程正在调用 getenv(),则您的程序可能崩溃。(请注意,gettext() 等许多函数在内部都会调用 getenv()。)此函数仅在程序开始之前,在创建任何其他线程(或创建自己的工作线程的对象)之前调用时才安全。

如果您需要为主进程设置环境,您可以使用 g_get_environ() 获取环境数组,使用 g_environ_setenv()g_environ_unsetenv() 对其进行修改,然后直接将该数组传递给 execvpe()、g_spawn_async() 等函数。

自版本 2.4 起提供

参数

variable

类型: const gchar*

要移除的环境变量,不能包含“=”。

该数据由函数的调用者所有。
这个值是一个平台原生字符串,在 Unix 上使用首选的 OS 编码,在 Windows 上使用 UTF-8。