The OpenNET Project / Index page

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



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

Оглавление

Для GCC подготовлены патчи для сборки универсальных исполняемых файлов, opennews (ok), 15-Июл-23, (0) [смотреть все]

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


32. "Для GCC подготовлены патчи для сборки универсальных исполняе..."  +1 +/
Сообщение от n00by (ok), 16-Июл-23, 07:31 
> макросы, подобные EINVAL, не являются константами в Cosmopolitan

Очень интересный момент.
Действительно, определены вот так:

/**
* Result too large.
*/
extern const errno_t ERANGE;

https://github.com/jart/cosmopolitan/blob/18536950b3db37da45...


А вот как должно быть в языке Си:

C17 ballot ISO/IEC 9899:2017

7.5 Errors <errno.h>

1 The header <errno.h> defines several macros, all relating to the reporting of error conditions.

2 The macros are

EDOM
EILSEQ
ERANGE

which expand to integer constant expressions with type int, distinct positive values, and which are suitable for use in #if preprocessing directives;


То есть формулировка "Си-библиотека Cosmopolitan" не является корректной.
Правильнее говорить "похожая на Си"

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

33. "Для GCC подготовлены патчи для сборки универсальных исполняе..."  +1 +/
Сообщение от n00by (ok), 16-Июл-23, 07:35 
Определено как extern const, что бы гарантировать наличие объекта в памяти.
Наверняка при инициализации библиотеки подставляются подходящие для среды исполнения значение.
То есть в угоду "универсальности" пожертвованы эффективность и соответствие стандарту.
Ответить | Правка | Наверх | Cообщить модератору

39. "Для GCC подготовлены патчи для сборки универсальных исполняе..."  +/
Сообщение от Пушок (?), 16-Июл-23, 08:25 
Как всегда чётко и по делу. 👍
Ответить | Правка | Наверх | Cообщить модератору

55. "Для GCC подготовлены патчи для сборки универсальных исполняе..."  +/
Сообщение от Аноним (55), 16-Июл-23, 10:43 
Спасибо, кэп.
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

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

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




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

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