Описание тега c11
C11 - неофициальное название более старой стандартной версии (ISO/IEC 9899:2011) языка программирования C.
1
ответ
Полный тип к неполному типу в стандарте C: C11
Есть ли ситуация, когда полный тип в единице перевода может стать неполным? Следующее утверждение в сноске стандарта C11 (раздел 6.2.5) вызвало этот вопрос. Тип может быть неполным или полным во всей единице перевода или может изменять состояния в р…
21 авг '13 в 15:54
3
ответа
c11 _Общие типы добавления
Как добавить дополнительные типы в c11 _Generic Functions? Вы должны #undef/re # определить это?(Если так, то следующая работа) или есть более хороший способ? #define to_str(X) _Generic((X), \ long double: ld_str, \ double: d_str, \ float: f_str, \ …
16 мар '12 в 09:48
0
ответов
Как затраты на атомарные операции варьируются в зависимости от архитектуры?
Как соотносятся затраты на атомарные операции в обычных архитектурах (x86(версия), arm(версия) и PowerPC(версия))? Бонусные баллы, если вы включили исходную оценку циклов и объяснили ее в терминах "Сортировка памяти C11" или включили инструкции, исп…
27 июл '17 в 03:18
3
ответа
Поддержка Unicode C11
Я пишу некоторые функции преобразования строк, похожие на atoi() или же strtoll(), Я хотел включить версию моей функции, которая бы принимала char16_t* или char32_t* вместо просто char* или wchar_t*. Моя функция работает нормально, но когда я ее пис…
29 сен '14 в 18:42
1
ответ
Приведение к указателю на функцию, возвращающую массив - это разрешено?
Этот вопрос как-то связан с этим. Моя последняя ревизия показывает, что параграф, утверждающий, что массивы, возвращающие функции, не могут быть вызваны, может иметь некоторое фактическое использование. Запомните это ($6.5.2.2.1): Выражение, которое…
14 янв '16 в 16:27
3
ответа
Почему C11 не поддерживает лямбда-функции
Новый стандарт C++ 11 поддерживает лямбда-функции, что я считаю полезной функцией. Я понимаю, что стандарты C и C++ отличаются друг от друга, но я не понимаю, почему C11 не поддерживает лямбда-функции. Я думаю, что это может иметь много пользы. Есть…
09 авг '13 в 13:23
1
ответ
Когда безопасные строковые функции C11 станут частью glibc?
Стандартное приложение C11 K определяет набор новых безопасных строковых функций, к которым добавляется суффикс _s (например, strcpy_s). Знаете ли вы, когда эти новые функции станут доступны в библиотеке GNU C glibc? До сих пор вы должны использоват…
12 июл '16 в 07:19
1
ответ
Может ли реализация, которая имеет sizeof (int) == 1 "полностью соответствовать"?
Согласно стандарту C любые символы, возвращаемые fgetc возвращаются в виде unsigned char значения ", преобразованные в intmsgstr " (эта цитата взята из стандарта C, в котором говорится, что преобразование действительно есть). когда sizeof (int) == 1…
15 июн '15 в 01:19
1
ответ
bsearch() для массива строк в C
Я реализую код на C, чтобы скопировать строку в массив символов (строка), а затем выполнить поиск по нему. Но неожиданно bsearch возвращает false для результатов, которые должны быть правдой. Я предполагаю, что это как-то связано с тем, как я вставл…
13 июл '18 в 23:44
2
ответа
Каково обоснование для одного последнего элемента массива?
Согласно N1570 (проект C11) 6.5.6/8 Аддитивные операторы: Более того, если выражение P указывает на последний элемент объекта массива, выражение (P)+1 указывает один за последним элементом объекта массива, и если выражение Q указывает один за послед…
14 дек '14 в 18:26
1
ответ
_Общий и функции с несколькими параметрами
Я читал этот С11 _Generic пример в Википедии: #define cbrt(X) _Generic((X), long double: cbrtl, \ default: cbrt, \ float: cbrtf)(X) Кажется довольно ясным, как использовать его для функций только с одним параметром, но я не вижу способа написать фун…
07 май '13 в 12:46
1
ответ
Компиляция кода C с помощью g++: неверное преобразование
Я компилирую код c с g++ и работаю в некоторых проблемах. после исправления назначенных инициализаторов я остаюсь с этой ошибкой: error: invalid conversion from 'void*' to '__u8*' Это мой код: static inline void put_unaligned_le16(__u16 val, __u16 *…
03 июн '13 в 09:46
1
ответ
Можете ли вы привести примеры советов, которые я перечислил в отношении calloc стандарта c11, чтобы помочь мне понять их?
Когда я читал ссылки на calloc в ссылках на calloc в cppreference, я обнаружил следующие советы, которые я не получил. calloc является поточно-ориентированным: он ведет себя так, как будто обращается только к тем ячейкам памяти, которые видны через …
27 авг '14 в 17:20
1
ответ
Законно ли получить доступ к элементам структуры через смещенные указатели от других элементов структуры?
В этих двух примерах доступ к элементам структуры путем смещения указателей от других элементов приводит к неопределенному / неуказанному / определяемому реализацией поведению? struct { int a; int b; } foo1 = {0, 0}; (&foo1.a)[1] = 1; printf("%d…
08 авг '18 в 02:44
3
ответа
Последовательность операторов присваивания в выражениях C11
Вступление Стандарт C11 (ISO/IEC 9899:2011) ввел новое определение последовательности побочных эффектов в выражении ( см. Связанный вопрос). Концепция точки последовательности была дополнена последовательностью до и последовательностью после отношен…
24 мар '14 в 17:09
2
ответа
c99 - ошибка: неизвестное имя типа 'pid_t'
Я использую Linux (3.13.0-24-generiC# 46-Ubuntu) и написал простую программу на C pid, При компиляции у меня возникли некоторые проблемы: gcc pid_test.c, это отлично. gcc -std=c99 pid_test.c или же gcc -std=c11 pid_test.cДает ошибку: ошибка: неизвес…
29 авг '15 в 02:56
1
ответ
Файл uchar.h не найден в OS X 10.9
У меня сложилось впечатление, что мой компилятор C поддерживает C11, так как он принимает флаг -std=c11, $ cc --version Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) Target: x86_64-apple-darwin13.3.0 Thread model: posix а также ucha…
07 июл '14 в 10:48
2
ответа
Кросс-файл #if и #endif - это должно быть законно?
Согласно стандарту C11, Директива предварительной обработки вида # включить новую строку "q-char-sequence" вызывает замену этой директивы всем содержимым исходного файла, идентифицируемого указанной последовательностью между "разделителями". Так что…
14 окт '16 в 03:15
1
ответ
C Unicode: Как применить исправление DR488 стандартной поправки C11 к стандартной функции C11 c16rtomb()?
Вопрос: Как упомянуто на странице справки C для функции, c16rtomb из CPPReference, в разделе Notes: В С11, как опубликовано, в отличие от mbrtoc16, которая преобразует многобайтовую переменную ширину (например, UTF-8) в 16-битное (например, UTF-16)…
05 ноя '18 в 04:33
1
ответ
Проверка типов в постоянном анонимном союзе
Прежде всего, проверка типов не совсем правильный термин, который я ищу, поэтому я объясню: скажем, я хочу использовать анонимное объединение, я делаю объявление объединения в структуре const, поэтому после инициализации значения не изменятся. Это д…
04 ноя '15 в 23:08