【发布时间】:2019-03-30 22:00:52
【问题描述】:
我尝试在我的 C 代码中调用 getenv,这可以在终端中返回正确的 env 字符串,而在 GDB/DDD 中返回 NULL。
void main() {
char * a = getenv("ANCHOR_STEM");
if (strlen(a)>0)
printf("%s\n", a);
}
GDB/DDD 从同一个终端启动。 即使我“显示环境”,这个环境也存在。
有人知道吗?
操作系统/工具版本信息: RHEL Linux 主机名 1 2.6.32-754.3.5.el6.x86_64 #1 SMP Thu Aug 9 11:56:22 EDT 2018 x86_64 GNU/Linux GNU gdb (GDB) 7.12 gcc (GCC) 6.3.0
【问题讨论】:
-
与问题无关,但您的
main返回类型错误。它必须返回int。参数列表是(void)或(int argc, char *argv[])。空参数列表已过时。