2016-08-31 2 views
3

Я изучаю C и наткнулся на cc в оболочке bash i.e когда я make мои исходные файлы Я вижу эту команду.getenv ("cc") возвращает NULL, почему?

Следовательно, начал понимать, начав с gcc --help, но не удалось найти cc в справке. Так начал заниматься серфингом в сети, и наткнулся на это post. Во втором ответе говорится, что cc является переменной окружения и часто указывает на /usr/bin/gcc на системы Linux.

Я использую дистрибутив Linux, и когда я печатаю возвращаемое значение от getenv("cc"), я получаю NULL. Почему это происходит?

+0

попробовать запустить 'env' на раковине вы активизируете C программу. Получаете ли вы эту переменную 'cc'? CC - это автоматическая переменная из gnu make: https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html – Aif

+3

Нет, это говорит, что CC является переменной окружения. Не cc. –

ответ

3

cc обычно не является переменной окружения. Обычно есть символическая ссылка /usr/bin/cc, которая указывает на gcc.

0

Цитирование :

куб.см является общим названием для исполняемого файла C компилятор или драйвера. Это значение по умолчанию для переменной $ (CC) make.


Потому что, как ref состояний:

Если указанное имя не может быть найдено в среде вызывающего процесса, нулевой указатель должен быть возвращен.


Кроме того, если вы запустите env на терминале, вы увидите cc? На самом деле, нет! Вот почему вы получаете указатель NULL. Так как это не кажется, переменная среда ..


Я считаю, что cc вы говорите что-то вроде этого в вашем Makefile:

CC=gcc 

что-то usual in Makefiles.

2

«куб.см» является с компилятором (исполняемый файл), его не подвергается как переменная окружения ... GETENV напечатает ENV переменные

 Смежные вопросы

  • Нет связанных вопросов^_^