LINUX.ORG.RU

[C] Argv

 


0

1

Что передается программе помимо аргументов командной строки? Если я правильно понял, то глобальные переменные типа TERM, SHELL, XDG_DATA_HOME и т.д.?

Ответ на: комментарий от x3al

Других аргументов у main() нет.

Ок. Благодарю.

damnemall
() автор топика

> Что передается программе помимо аргументов командной строки? Если я правильно понял, то глобальные переменные типа TERM, SHELL, XDG_DATA_HOME и т.д.?

можно передавать и не глобальные переменные окружения. Например, $ SOME_PARAM=12345 /path/to/my_app

Вопрос немного расплывчатый, потому что на вопрос «что передаётся программе» помимо аргументов комстроки (man stdarg) и переменных окружения (man getenv) можно и сигналы притянуть (man 7 signal), и расшаренную память (man 7 shm_overview); да и любые другие способы взаимодействия с программой.

Slavaz ★★★★★
()
Ответ на: комментарий от damnemall

Зачем тебе знать, сколько переменных в окружении? Если нужно что-то конкретное из него, есть getenv.

NoMasters
()
Ответ на: комментарий от damnemall

getenv для взаимодействия с переменными окружения

Dikar ★★
()
Ответ на: комментарий от jtootf

>стандарт ISO/IEC этого не предполагает

Попробуйте его перечитать. Если не поможет, то можете поискать упомянутый getenv().

anonymous
()
Ответ на: комментарий от x0r

В таком случае твоя система умеет какие-то говнонадстройки. Как и моя, впрочем.

x3al ★★★★★
()
Ответ на: комментарий от anonymous

Попробуйте его перечитать. Если не поможет, то можете поискать упомянутый getenv()

не помогло. getenv() на месте. что сказать-то хотел?

jtootf ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.