The OpenNET Project / Index page

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



"Проектом Ussury развивается новая стандартная библиотека Си"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Проект Ussury развивает новую стандартную библиотеку языка C" –1 +/
Сообщение от n00by (ok), 03-Апр-24, 15:35 
> ну для начала - вроде не принято в заголовочном файле тело функций
> определять, только сигнатуры.

Не принято нарушать ODR (правило одного определения). Всё остальное - это атавизм тех времён, когда трансляторы генерировали объектник два часа и падали от нехватки памяти.

> если я этот файлик в несколько своих исходников включу - у меня
> в каждом своя копия этих strlen будет?

Да, в каждой единице трансляции. Это header-only библиотека. При этом strlen окажется встроена в месте вызова и соптимизирована, для константных аргументов длина вычислится ещё на этапе трансляции. Если в каких-то случаях такой подход окажется проблемой, то не сложно будет добавить #ifdef и исключить определения функций, оставив объявления.

> или в с++ так можно? давно не трогал плюсы

Это Си. В Си++, сколько его помню, так было принято для мелких функций-членов, поскольку inline там появился задолго до Си.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Проектом Ussury развивается новая стандартная библиотека Си, opennews, 02-Апр-24, 20:10  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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