Системное программирование, Стандарты и реализации UNIX
Все программы должны соответствовать принятому стилю кодирования.
- В начале файла - заголовок с автором и лицензией;
- Перед каждой функцией - комментарий с описанием функции и аргументов;
- Текст программы разбит на "абзацы" с комментарием перед каждым "абзацем".
Все возвращаемые функциями значения должны проверяться. В случае ошибок выполнение программы должно аварийно завершаться с выдачей сообщения об ошибке и кодом завершения EXIT_FAILURE.
2. Стандарты и реализации UNIX
- Проверить, определена ли в Вашей реализации UNIX константа ARG_MAX. Если константа определена - вывести значение.
- Проверить, определена ли в Вашей реализации UNIX константа _POSIX_ARG_MAX. Если константа определена - вывести значение.
- Выяснить, какие заголовочные файлы необходимо подключать для объявления sysconf(). С помощью sysconf() получить и вывести лимит _SC_ARG_MAX.
- Проверить, определена ли в Вашей реализации UNIX константа PATH_MAX. Если константа определена - вывести значение.
- Проверить, определена ли в Вашей реализации UNIX константа _POSIX_PATH_MAX. Если константа определена - вывести значение.
- Выяснить, какие заголовочные файлы необходимо подключать для объявления pathconf(). С помощью pathconf() получить и вывести лимит _PC_PATH_MAX.
- Проверить, определена ли в Вашей реализации UNIX константа OPEN_MAX. Если константа определена - вывести значение.
- Проверить, определена ли в Вашей реализации UNIX константа _POSIX_OPEN_MAX. Если константа определена - вывести значение.
- С помощью sysconf() получить и вывести лимит _SC_OPEN_MAX.
- Изменить лимит на количество открытых файлов с помощью ulimit -n 100. Заново запустить программу из предыдущего задания и проверить, что лимит действительно изменился.