The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проектом Ussury развивается новая стандартная библиотека Си, opennews (??), 02-Апр-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


113. "Проект Ussury развивает новую стандартную библиотеку языка C"  +/
Сообщение от фф (?), 03-Апр-24, 15:25 
ну для начала - вроде не принято в заголовочном файле тело функций определять, только сигнатуры.
если я этот файлик в несколько своих исходников включу - у меня в каждом своя копия этих strlen будет?
или в с++ так можно? давно не трогал плюсы
Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

116. "Проект Ussury развивает новую стандартную библиотеку языка C"  –1 +/
Сообщение от n00by (ok), 03-Апр-24, 15:35 
> ну для начала - вроде не принято в заголовочном файле тело функций
> определять, только сигнатуры.

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

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

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

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

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

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

197. "Проект Ussury развивает новую стандартную библиотеку языка C"  +/
Сообщение от Аноним (209), 05-Апр-24, 13:55 
Сразу видно человека, который собирает только ~ пока, МИР проекты
Ответить | Правка | Наверх | Cообщить модератору

203. "Проект Ussury развивает новую стандартную библиотеку языка C"  +/
Сообщение от n00by (ok), 05-Апр-24, 15:11 
Сразу видно опытного демагога и манипулятора, которому по существу заявить нечего, но написать что-то очень хочется.
Ответить | Правка | Наверх | Cообщить модератору

118. "Проект Ussury развивает новую стандартную библиотеку языка C"  +/
Сообщение от Аноним (90), 03-Апр-24, 16:02 
Там это бывает неизбежно, если это шаблоны.
Ответить | Правка | К родителю #113 | Наверх | Cообщить модератору

196. "Проект Ussury развивает новую стандартную библиотеку языка C"  +/
Сообщение от Аноним (209), 05-Апр-24, 13:54 
Вообще-то принято, даже gcc некоторые glibc-ишные ф-ии инлайнит своими реализациями. А в c++ это почти что норма. Вопрос только в обоснованности.
Ответить | Правка | К родителю #113 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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