LINUX.ORG.RU

Ответ на: комментарий от grem
Не удается получить доступ к сайтуНе удалось найти IP-адрес сервера www.opennet.ru.
Попробуйте сделать следующее:

* Проверьте подключение к Интернету.
* Проверьте настройки прокси-сервера, брандмауэра и DNS.
ERR_NAME_NOT_RESOLVED
Pinux001
()
Ответ на: комментарий от Pinux001

Обратись к провайдеру или перестань ломать дефолтные настройки.

grem ★★★★★
()

opennet.ru

Спасибо, купился. Помыл глаза мылом лишний раз :)

yu-boot ★★★★
()
Ответ на: комментарий от fsb4000

constexpr, auto, true, false, появились в С.

Не ври, true и false появились в Си наверно лет 30-40 назад. Можно через define, можно через enum.

firkax ★★★★★
()
Ответ на: комментарий от grem

Про C:

1. Притащили идиотизм с nullptr из C++C23.

2. enum-ы с заданным базовым типом оттуда же (хорошо).

3. Поддержка varargs без фиксированного аргумента и ещё что-то (вроде не мешает, но зачем оно нужно непонятно - функция как-то должна узнать что ей брать из varargs, а без хотя бы одного фиксированного аргумента это затруднительно).

4. Вывод типов (auto x = sin(1);).

5. constexpr (норм, но в proposal-е смешное обоснование: типа без constexpr в const можно записать out-of-range значение и компилятор молча это примет а с constexpr нельзя).

6. Сомнительная фигня:

static struct foo* p = &(static struct foo) {1, 'a', 'b'}; Нововведение в том что инициализатор может быть анонимной переменной (из-за static), под которую выделена память, но у которой нет своего идентификатора. Плохо, только вносит путаницу. Так и до анонимных функций (которыми заполнены мусорные языки типа js) недалеко.

7. Слова (смысл понятен, расписывать не буду) typeof, typeof_unqual, alignas, alignof, bool, false, static_assert, thread_local, true, noreturn. Тут некоторая доля вранья, поскольку больше половины из них уже было, а теперь их типа заново внесли от имени С23.

8. Инициализация массивов и структур пустыми скобками (опять враньё, уже было с древних времён).

9. Макросы версий заголовочных файлов __STDC_VERSION_*_H__

10. Удалено ATOMIC_VAR_INIT (я и не знал что это такое).

11. Макрос «unreachable» в <stddef.h> (видимо для пометки соотв. мест кода).

12. Удалены триграфы (давно пора).

13. Больше нельзя делать прототипы функций с пустыми скобками вместо аргументов в качестве открытого списка аргументов (хорошо, но всякий древний до-С89 хлам сломается). Теперь пустые скобки считаются как (void) - а это уже плохо, провоцирует баги. Надо было просто запретить.

14. -Wformat умеет проверять %wN и %wfN для printf и scanf (лень искать что это, скорее всего какое-то ненужно).

15. Какая-то муть с юникодом и смайликами в идентификаторах, не разобрался в чём суть https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2836.pdf

16. -Wenum-int-mismatch для проверки соответствия базового типа enum и целочисленного типа в каких-то операциях.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
Ответ на: комментарий от firkax

Так это фичи стандарта языка или расширения gnu gcc? Если фичи стандарта, то хорошо же, что добавляют в компилятор.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от alex1101

Угу. С учетом существования distcc это открывает новые возможности для СР/УВЧ

hateWin ★☆
()
Ответ на: комментарий от grem

Если смотреть с точки зрения «вот кто-то написал код на C23 и надо его скомпилировать», то да, хорошо что компилятор это сожрёт. Я с другой позиции рассматривал, о целесообразности внесения этих нововведений в язык вообще (т.к. считаю gcc носителем самостоятельного стандарта языка, и более важного чем комитетский).

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Ничего не понял. То есть считаешь, что gcc не должен поддерживать стандарт? Расширения расширениями, но отсутствие поддержки стандартных фич крайне нежелательно.

grem ★★★★★
()
Ответ на: комментарий от firkax

https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/devel/gfortran-caf

На реализацию встроенного параллелизма (многопоточную реализацию), похоже, забили для фортрана. Уже больше четырёх лет некому этим заниматься.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от firkax

через define можно любое ключевое слово определить.

Вот эта программа на С работает только в GCC 13.1, в предыдущих версиях будет ошибка компиляции:

int main() {
    if(true) {
       return 42;
    }
}
fsb4000 ★★★★★
() автор топика
Ответ на: комментарий от fsb4000

Я в курсе, но это однозначно не «появились в Си». Можно было сказать «теперь нативные ключевые слова».

firkax ★★★★★
()
Ответ на: комментарий от grem

Нет, не считаю. Но в том сообщении речь была просто про другое - оценка направления развития языка.

firkax ★★★★★
()
Ответ на: комментарий от wandrien

Так я и написал про некоторые что полезная.

firkax ★★★★★
()

Мне вот интересно, зачем гцц пилит компиляторы го и раста, когда они и так опенсорс

mrdeath ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)