微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

getenv“cc”返回NULL,为什么?

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

因此开始了解它,开始使用gcc --help但在帮助中找不到cc选项。 于是开始上网了,碰到这个post 。 在第二个答案中, cc表示cc是一个环境variables,通常指向Linux系统上的/usr/bin/gcc 。

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

Bash命令logging器

Linux命令间隔运行脚本

通过Bash从Cisco C40获得输出

安装cygwin后Git Bash破碎

把参数传给awk里面的do循环

BASH – 找不到什么$? 特殊的可变手段

最后运行不同的选项GNU并行

Bash shell脚本,只用脚本的某个部分运行&

BC不通过脚本执行

在Windows上的Scala代码中运行shell命令似乎需要该命令的完整的绝对path

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

“cc”是ac编译器(可执行文件),它不作为环境变量公开… getenv将打印env变量

引用cc :

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

因为,正如裁判所述:

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

而且,如果你在终端上运行env ,你会看到cc吗? 不是真的! 这就是为什么你得到一个NULL指针。 由于它似乎不是一个环境变量 ..

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

CC=gcc

通常在Makefiles中的东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐