LINUX.ORG.RU

Новый стандарт языка C: C18

 , c18, ,


6

8

Международная Организация по Стандартизации (ISO) опубликовала новый международный стандарт языка программирования C: ISO/IEC 9899:2018, его также называют C17 и C18.

Новый стандарт не вносит никаких новых возможностей, а лишь исправляет дефекты, сообщенные для C11. Значение макроса __STDC_VERSION__ увеличено до 201710L.

Поддержка C18 у GCC появилась, начиная с 8 версии, а у LLVM Clang — с 6.0. Чтобы указать во время компиляции использование стандарта C18 у GCC и LLVM Clang используются флаги -std=c17 и -std=gnu17. В GCC можно также указать новый стандарт флагами -std=c18 и -std=gnu18.

Последний черновик стандарта

Статья на en.wikipedia.org

>>> Подробности

★★

Проверено: jollheef ()
Последнее исправление: tailgunner (всего исправлений: 3)

Новый стандарт не вносит никаких новых возможностей

Still better than C++17 though

Всё ещё лучше, чем C++17

Crocodoom ★★★★★
()
Последнее исправление: Crocodoom (всего исправлений: 1)

НЕНУЖНО

Если нужна портируемость и близость к железу, то надо пользоваться ANSI C. Иначе лучше взять язык попроще и поудобнее.

anonymous
()

Когда уже ИИ заменит все эти языки программирования и я просто смогу говорить «Компьютер, я хочу новый легковесный браузер на вэбките» и онтакой - «рассчитываю оптимальные параметры» и через пять минут у меня новый ДоРеМидори.

Deleted
()
Ответ на: комментарий от Deleted

легковесный браузер

оч смешно

и онтакой - «рассчитываю оптимальные параметры» и через пять минут

все члены и контрибьюторы w3c мертвы.

dimgel ★★★★★
()

Ура ура ура ура. https://www.youtube.com/watch?v=cdX8r3ZSzN4 Но в целом да, корректирующий релиз.

Но вот про clock_t я не понял говорят что в случае ошибки должен быть возвращён -1, но в случае если у вас unsigned int ловите прикол. Что было UB то и осталось UB Юмористы блин ))))) Чё его дёргать? Ну да ладно.

Deleted
()
Ответ на: НЕНУЖНО от anonymous

Любой стандарт С это ANSI C ))))))))))))) Или ты про 89? Если да то так то да )

Deleted
()
Ответ на: комментарий от dimgel

По существу: даёшь C++! А сабж не нужен.

Без сабжа твоего CPP бы и не было. СPP сомнительно нужен, а сабж нужен абсолютно, убери в один миг сабж и вся ПК эра исчезнет в миг, вввжух и плюх!

Deleted
()
Ответ на: комментарий от Deleted

Без ассемблера PDP8 твоего C бы не было. С таким образом сомнительно нужен, а asm PDP8 нужен абсолютно. Убери ассемблер PDP8 из истории и вся ПК эра исчезнет в миг, вввжух и плюх!

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

Он выкинет всё тежеловесное из вебкита и будет рендерить тебе plain html. Причём рендерить сам HTML, а не то что он описывает ))))))))) Лёгкий и быстрый на вебките просто с фиксами ))

И да такое можно уже сейчас, но....не надо ))))))) А вот парсеры ИИ писать могут и очень даже хорошо...только нихрена непонятно и следовательно ненужно. Современные ИИ это просто фильтры для данных.

Deleted
()
Ответ на: комментарий от Deleted

Ценность историческая != ценность актуальная.

asm PDP8 нужен абсолютно.

Во, сенькс, а то я чёт затупил на тему подходящего примера.

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

Мы так уйдём в эпоху добычи меди.... Или даже большого взрыва. Или ещё чего неизведанного и таинственного с рентв. ЦАПЕПЕ сынуля СИ ето вжух факт, без 1 нет 2 эт факт, для меня нужность С++ сомнительна эт факт, я не говорил что нужности вообще нет эт факт. А если убрать все языки и венуться назад и снова сюда то возможно что была бы эра железа, когда gimp или фотошоп были платами с подобием FPGA и продавались бы матплаты с херовой тучей портов в которые втыкались программы. Софт бы проектировали на чертежах и травили на кристалах как ASIC. А идея писать софт для каких то универсальных вычислительных устройств была бы смехотворна....

Deleted
()
Ответ на: комментарий от dimgel

Я сказал что он нужен, но сомнительно для меня. И всё чво взъелся то )) Вон тебе С вообще не нужен. Ну и ок))

Deleted
()
Ответ на: комментарий от dimgel

По существу: даёшь C++! А сабж не нужен.

Вотажи! Ви таки мене спровоцировали! :D

Deleted
()
Ответ на: комментарий от Deleted

А как тупая железяка узнает чем браузер отличается от текстового редактора и с какими форматами файлов и протоколами и каким именно образом должна работать новая софтина?

Вот чтобы всё это объяснять и нужны языки программирования. Такие как Си и Паскаль.

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

хочу новый легковесный браузер на вэбките

Делить на 0 даже ИИ не сможет.

anonymous
()
Ответ на: комментарий от Deleted

Всегда нравится когда люди не писав ничего (ну разве что лабы каки-нить) на ++ начинают его обсирать, говорить про его не нужность, при этом в этот самый момент, когда вещают про ненужность - пользовать софт который написан на презренном ими ++.

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

Серьёзно? Я ответил на пост где сказали что С ненужен и ни слова не сказал про ненужность С++, поэтому не выдумывай это раз и не строй предположений не зная собеседника это два. Сомнительная нужность != ненужность. Так что остынь С++ фанбой )) Что то ты не отреагировал на то что сказали что С ненужен, а лишь про С++ вступился )

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Внезапно, но хорошо.

Bfgeshka ★★★★★
()

Новый стандарт не вносит никаких новых возможностей, а лишь исправляет дефекты

Нихрена себе «лишь»! «Исправляет дефекты» это самое важное как раз.

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

«То, что мертво, умереть не может».

Сейчас набегут Goшники с криками

Пфф, мирные гоферы так не делают. Ты с местными фанатами ржавчины путаешь, которые любят C закапывать.

WitcherGeralt ★★
()

Интересно, как скоро данный стандарт будет поддерживаться в эльбрусовском lcc?

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

Ну это же будет (более) настоящий ИИ! Он метнётся в базу данных, узнает чего я хочу и сделает всё правильно! Чё как маленький?

Deleted
()
Ответ на: комментарий от Crocodoom

А что тут сравнивать? Любой цвет лучше коричневого

А может коричневый лучше? Он же результат нескольких цветов ;)

AlexVR ★★★★★
()

В стандарте приведен код

{
int n = 4, m = 3;
int a[n][m];
int (*p)[m] = a;
p += 1;
(*p)[2] = 99;
n = p - a;
}

Угадайте, чему будет равно n

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

Си хорош тем, что даже в 2050 году я буду знать какой учебник выбрать

Боюсь, уже есть книжки поактуальнее K&R.

Deleted
()
Ответ на: комментарий от Deleted

Нужен чтобы не городить упоротое говно с симуляцией наследования как в гномах. И делать жуткие c-style касты... А то что в структурах лэйаут может быть другой и пишется мусор в поля не узнать можно и вовсе.

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

1, очевидно же: p = a; p = p + 1; n = p - a;

anonymous
()
Ответ на: комментарий от kto_tama

В стандарте привёден тип time_t и по умолчанию предупреждается что мол он если что с ошибкой равен -1 но можно делать typedef unsigned long long int time_t :D А куда им деваться выкручиваются как могут гыгыг

Deleted
()
Ответ на: комментарий от theNamelessOne

Вообще на самом деле это зелёный.

Deleted
()
Ответ на: комментарий от save_data

А при чём тут Go, когда это язык с GC? Общего у них конечно много чего, но языки совсем разные и для разного.

env ★★☆
()
Ответ на: комментарий от deep-purple

хм... Уже видеокодек на ИИ порвал самые совершенные кодеки по качеству и битрейту. Я страстно жду времени, когда я смогу заказать убийцу автокадов у ИИ. Нафиг пошли со своими языками программирования, которые всё дальше уходят от человеческого языка и при этом вечно всех не устраивают. Да будет единый язык - «компьютер, хочу мороженного», «компьютер, хочу 3дрисовалку», «компьютер, хочу компактную атомную бомбу, чтобы взорвать штаб и сервера разработчиков Гнома».

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.