Джерело:
Хабрахабр / Захабренные / Тематические / Посты
Дата публікації:
09/05/2021 18:02
Постійна адреса новини:
http://www.vsinovyny.com/7833859
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 |
» | |
|
|
||||