Результаты поиска по запросу "c11"

1 ответ

@R .. Нет, цель эффективного типа хорошо объяснена в обосновании. Никогда не предполагалось, что, например, int * и double * могут иметь псевдоним. Точка, в которой этим стали злоупотреблять, заключалась в том, что такие вещи, как uint16_t *, не могли использовать псевдоним uint32_t * и т. Д., Эффективно превращая все виды аппаратного программирования с gcc в особую угрозу безопасности. В результате мы видим, что встроенные системы, написанные на gcc, разрушаются каждый день, потому что обычный программист на Си даже не знает о строгом псевдониме и эффективном типе. Так было с тех пор, как Cortex M стал мейнстримом.

сматриваю сборку, сгенерированную GCC для ARM Cortex M4, и заметил, чтоatomic_compare_exchange_weak получает дваDMB инструкции, вставленные вокруг условия (собранные с помощью GCC 4.9 с использованием-std=gnu11 -O2): // if ...

1 ответ

 загружается один раз для сравнения и снова для шага индексации.

нкции, такие какscanf_s, printf_s кажется необязательным стандартом. MSVC реализовал эти функции, а gcc - нет. Есть ли конкретная причина не реализовывать безопасные функции? Являетсяscanf GCC достаточно безопасны?

1 ответ

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

оложим, у нас есть объявление функции, для которого у нас нет доступа к ее определению: void f(int * restrict p, int * restrict q, int * restrict r);Поскольку мы не знаем, как получить доступ к указателям, мы не можем знать, вызовет ли ...

ТОП публикаций

7 ответов

 проверьте указатель, вот рекурсивная функция, которая печатает содержимое односвязного списка.

я есть небольшой кусочек кода оsizeof оператор с троичным оператором: #include <stdio.h> #include <stdbool.h> int main() { bool a = true; printf("%zu\n", sizeof(bool)); // Ok printf("%zu\n", sizeof(a)); // Ok printf("%zu\n", sizeof(a ? true : ...

0 ответов

 не были отменены.

казывает в разделе 6.7, какие объявления также являются определениями: Определение идентификатора - это объявление этого идентификатора, которое: - для объекта вызывает сохранение хранилища для этого объекта; [...] Я не нашел исчерпывающего ...

4 ответа

Не определено ли определение типа через объединение в C99 и стало ли оно указанным в C11?

Количество ответов на вопрос переполнения стекаПолучение битов одинарной точности IEEE для поплавка предложить использовать

3 ответа

Чтение символа с помощью scanf_s

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

3 ответа

Может ли массив символов использоваться с любым типом данных?

2 ответа

разница между с99 и с11 [закрыто]

Я учусь с, в настоящее время.Книга Я читаю на основе C99. Я хочу обновить свои знания до C11 после окончания этой книги или изменить ресурс, если есть сущест...

3 ответа

Разъяснение на примере союзов в стандарте C11

Следующий пример приведен в стандарте C11, 6.5.2.3Следующее не является допустимым фрагментом (потому что тип объединения не виден внутри функции f):