[Перевод] Заметки о Unix: сильные и слабые стороны errno в традиционных Unix-окружениях

Джерело:
Хабрахабр / Захабренные / Тематические / Посты

Дата публікації:
09/05/2021 18:02

Постійна адреса новини:
http://www.vsinovyny.com/7833859

[Перевод] Заметки о Unix: сильные и слабые стороны errno в традиционных Unix-окружениях

 

09/05/2021 18:02 // Хабрахабр / Захабренные / Тематические / Посты

Недавно я мимоходом отметил, что errno был, в целом, хорошим интерфейсом в Unix-системах до появления в них многопоточности. Кого-то подобное высказывание может удивить, поэтому сегодня предлагаю поговорить о сильных и слабых сторонах errno в традиционных Unix-окружениях, таких, как V7 Unix.



Сильной стороной errno является тот факт, что этот интерфейс представляет собой простейший механизм, способный возвращать несколько значений из системных вызовов C, в которых нет непосредственной поддержки возврата нескольких значений (особенно — в ранних вариантах C). Использование глобальной переменной для «возврата» второго значения — это практически идеал того, что можно сделать в обычном C, если только не планировать передачу из C-библиотеки указателя на каждый системный вызов и функцию, которые собираются возвращать значение errno (при таком подходе придётся, например, интенсивно пользоваться stdio). Постоянная передача подобного указателя приводит не только к ухудшению внешнего вида кода. Такой подход увеличивает объём кода, и, из-за использования дополнительного параметра, приводит к повышению нагрузки на стек (или на регистры).
Читать дальше →

 

» Читати повністю

 

« Наступна новина з архіву
Кулач стал лучшим бомбардиром сезона УПЛ, лучший ассистент - в Шахтере
  Попередня новина з архіву
Linux Foundation Launches Open Source Agriculture Infrastructure Project
»

 

 
© 2026 www.vsinovyny.com