getenv(" cc")返回NULL,为什么?

时间:2016-08-31 16:42:16

标签: c linux bash gcc cc

我正在学习C并在bash shell中遇到cc,即每当我make我的源文件时,我都会看到这个命令。

因此开始了解它,从gcc --help开始,但无法在帮助中找到cc选项。所以开始上网了,遇到了这个post。在第二个答案中,它说cc是一个环境变量,通常指向Linux系统上的/usr/bin/gcc

我正在使用Linux发行版,当我从getenv("cc")打印返回值时,我得到NULL。为什么会这样?

3 个答案:

答案 0 :(得分:3)

cc通常不是环境变量。通常会有一个符号链接/usr/bin/cc,指向gcc

答案 1 :(得分:2)

"cc" is a c compiler (executable), its not exposed as an environment variable ... getenv will print env variables

答案 2 :(得分:0)

引用

  

cc是C编译器可执行文件或驱动程序的通用名称。它是$(CC)make变量的默认值。

因为ref状态:

  

如果在调用进程的环境中找不到指定的名称,则返回空指针。

此外,如果您在终端上运行env,您会看到cc吗?并不是的!这就是你得到NULL指针的原因。因为它似乎不是环境变量 ..

我相信你提到的cc在你的makefile中是这样的:

CC=gcc

usual in Makefiles