Описание тега c17
C17 - неофициальное название текущего стандарта (ISO/IEC 9899:2018) языка программирования C. Он заменяет C11, но не содержит новых функций. Вместо этого в центре внимания C17 было устранение отчетов о дефектах (DR).
1
ответ
snprintf: Существуют ли какие-либо стандартные предложения C / планы по изменению описания этой функции?
Существуют ли предложения (или планы) к Стандарту языка C для изменения (последнего предложения) описания snprintf Функция такова, что неоднозначность, описанная в этом моем ответе на вопрос - "Является ли snprintf() ВСЕГДА завершается нулем?"- разр…
24 май '18 в 17:36
2
ответа
Что такое C17 и какие изменения были внесены в язык?
Когда я проверял новости о GCC 8, я увидел, что они добавили поддержку версии языка C 2017 года (не C++17, а на самом деле C17). Но я не могу найти информацию об этом в Интернете. Это новая версия ISO, такая как C11, или просто кодовое имя, использу…
28 ноя '17 в 10:57
2
ответа
Проблема форматирования памяти Windows
Я пытаюсь заставить это динамическое перераспределение работать портативным способом. У меня есть этот код, который работает чисто в Linux, но когда я запускаю его в Windows, он выбрасывает мусор. Кто-нибудь знает почему / как сделать этот портативн…
30 ноя '18 в 15:42
2
ответа
Как C17 хочет, чтобы я инициализировал свою атомику?
Стандарт C17 устарел ATOMIC_VAR_INIT от stdatomic.hЭто означает, что он все еще поддерживает, но, скорее, не будет использоваться. Каков правильный неразрешенный способ инициализации атомов в C17? То же, что и неатомарные типы: atomic_int foo = 42; …
17 фев '18 в 13:20
3
ответа
Как можно вычислить указатель на начало структуры из указателя, указывающего на член структуры переносимым способом?
Предполагать T1 а также T2 два типа и дается следующая структура: struct s { T1 x; T2 y; } Далее предположим, что у нас есть объект типа struct s: struct s a; Исходя из этого, мы можем вычислить указатель на второй член структуры объекта: T2 *q = &a…
22 дек '18 в 12:09
1
ответ
Должны ли мы назвать это C17 или C18?
ISO 9899:2018 уже некоторое время доступен от ISO. Список изменений: Что такое C17 и какие изменения были внесены в язык? Неофициально эта версия стандарта некоторое время называлась C17, хотя документ ISO будет 9899:2018. Поэтому мне интересно, сто…
08 авг '18 в 13:45
2
ответа
Будет ли я =i++ заново определен в C17?
После того, как я наткнулся на вопрос " Почему эти конструкции используют неопределенное поведение до и после приращения? ", Сегодня я решил взять новейший черновик для следующего стандарта C, который я смог найти, и прочитать о нем больше.Вскоре по…
25 ноя '18 в 14:22
2
ответа
C++17 основан на C17?
Я заметил, что многие из новых функций в C++17 были из C17. Есть ли связь между этими двумя стандартами? Есть ли практические различия между функциями C и их эквивалентами в C++?
17 май '19 в 12:32
1
ответ
Есть что-то, что напоминает std::lock_guard в родном C?
В C++ рекомендуется использовать lock_guard, поскольку он гарантирует, что когда объект уничтожен, он разблокирует мьютекс. Есть ли способ реализовать то же самое в C? Или мы должны просто реализовать это вручную: блокировка мьютекса Сделайте что-ни…
27 мар '19 в 12:11
2
ответа
C11 Приложение K: "объекты, которые перекрываются"
Есть фраза, которая продолжает появляться в Приложении K стандарта C (интерфейсы проверки границ): .... копирование не должно происходить между объектами, которые перекрываются. Учитывая, например, strcpy_s( char * restrict s1, rsize_t s1max, char c…
15 июн '19 в 12:05
1
ответ
Является ли индексирование строкового литерала константным выражением инициализатора?
Следующий код пытается использовать индексирование массива для строкового литерала в двух разных константных контекстах: static char x = "abcx"[3]; _Static_assert ("abcx"[3] == 'x', "..."); Судя по Compiler Explorer, среди поставщиков инструментов е…
15 июн '19 в 18:38
3
ответа
Будет ли стандарт C++20 включать стандарт C18
Я попытался погуглить и быстро найти последний черновик для "C lang" и "C18" на openstd org. Будет ли стандарт C++ поддерживать новейшие стандарты C?
05 мар '20 в 14:08
2
ответа
Почему open-std.org по-прежнему указывает C11 как последнюю версию C?
Я знаю, что последняя официальная версия стандарта доступна по адресу: https://www.iso.org/standard/74528.html Но поскольку страница, относящаяся к Рабочей группе языка C по адресу http://www.open-std.org/ - http://www.open-std.org/JTC1/SC22/WG14/, …
09 апр '20 в 02:08
3
ответа
Противоречие в стандарте C18 (относительно наборов символов)?
Читаем в стандарте C18: 5.1.1.2 Этапы перевода Приоритет синтаксических правил перевода определяется следующими этапами. Многобайтовые символы физического исходного файла сопоставляются определенным реализацией способом с исходным набором символов (…
23 авг '20 в 18:02
0
ответов
какую стандартизацию я должен использовать, чтобы изучить c? c89/c90 или новый c17?
Итак, в моей книге по программированию на C (книга, рассмотренная в 2014 году) сказано, что c99 - это стандартизация, которая все еще не популярна, но, проведя небольшое исследование, я только что узнал, что есть даже новая и улучшенная версия c17 .…
15 июн '20 в 20:44
5
ответов
Побитовое и более 32 бит
#include <stdio.h> #include <limits.h> int main() { unsigned long long a = 9223372036854775808; // a = 2^63 a = a & ~1; printf("%llu\n", a); printf("%d, %lld", INT_MAX, LLONG_MAX); } Вывод 9223372036854775808 2147…
10 ноя '20 в 12:31
1
ответ
Четко ли определено направление перевода программ?
Это может показаться очевидным, но просто из любопытства: четко ли определено направление трансляции программы (т.е. top-to-bottom, left-to-right)? Это явно определено в стандарте?
10 ноя '20 в 22:36
2
ответа
Не противоречит ли имя stdatomic.h (потенциальному) ограничению отображения до восьми значащих символов до точки?
ISO / IEC 9899:2011 (E): 6.10.2.5 Реализация может игнорировать различия в алфавитном регистре и ограничивать отображение до восьми значащих символов перед точкой. Поскольку перед точкой стоит 9 символов, противоречит ли это (потенциальному) огранич…
23 фев '21 в 19:09
0
ответов
Если наличие субнормальных чисел не является обязательным (HAS_SUBNORM), то почему наличие FP_SUBNORMAL обязательно?
Если наличие субнормальных чисел необязательно (макросы функций), то почему наличие макроса классификации обязательно? Причина вопроса: в этом (до сих пор не ответившем) вопросе был сделан вывод / выдвинута гипотеза, что: В случае, если HAS_SUBNORM …
26 фев '21 в 15:14
2
ответа
Почему не всем стандартным заголовкам предшествует префикс std?
Почему не всем стандартным заголовкам предшествует stdпрефикс? Т.е. почему complex.h и нет stdcomplex.h?
25 фев '21 в 20:16