The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Порядок включения #include в программе на Си (gcc)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: gcc,  (найти похожие документы)
Date: Wed, 11 Dec 2002 12:38:09 +0500 From: Valentin Nechayev <netch@segfault.kiev.ua> Newsgroups: ftn.ru.unix.prog Subject: Порядок включения #include в программе на Си VN>> <sys/types.h> очень желательно включать первым, потом прочие <sys/*>, VN>> потом остальные. VN>> Остальное не хочу читать, прочитаешь все FAQ - подправишь чего-то - VN>> тогда и приходи. PY> Читаю FAQ, к которому ты меня отослал и вижу нечто противоречащее твоим словам. PY> Порядок #include'ов вовсе не такой, какой ты предлагаешь. Кому верить? Во многих системах это без разницы. А вот старое BSD'шное свойство, хвосты которого сохраняются до сих пор - что 1) sys/types.h или sys/param.h надо включать первым 2) sys/types.h надо включать для ряда заголовков, которые сами его не включают принципиально (например, согласно манам так для sys/socket.h), перед ними 3) netinet/in.h надо включать явно перед arpa/inet.h, resolv.h и рядом других поэтому есть некоторые правила хорошего тона, чтобы работало и на системах со странностями, по порядку включения заголовков: первыми - sys/types.h, sys/param.h далее - machine/*, ufs/* и прочие специализированные системные далее - netinet/* далее - arpa/* далее - зависимые от юникса libc'шные (resolv.h, err.h, unistd.h) далее - общие для всего Си libc'шные (stdio.h, stdlib.h)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру