Вопросы по теме 'c99'

Самые полезные пользовательские C-макросы (в GCC, также C99)?
Какой макрос C , по вашему мнению, наиболее полезен? Я нашел следующий, который использую для векторной арифметики в C : #define v3_op_v3(x, op, y, z) {z[0]=x[0] op y[0]; \ z[1]=x[1] op y[1]; \...
16214 просмотров
schedule 28.05.2024

Почему C не имел логического типа данных до C99?
Я понимаю, что вы можете просто #define некоторые целые числа, но почему C не имел выделенного логического типа данных до C99? Это такое обычное явление в программировании и логике, что я не понимаю отсутствие явного типа и обозначения.
7335 просмотров
schedule 22.10.2022

Реализация умного указателя на C
Возможный дубликат: Умные указатели / безопасная память управление для C? У меня есть встроенное приложение, в котором я выделяю объект в динамической памяти и передаю его другим модулям. Я хочу создать умный указатель на этот...
4746 просмотров
schedule 26.01.2023

Вопросы с ограниченным указателем
Я немного запутался в правилах, касающихся ограниченных указателей. Может быть, кто-то там может помочь мне. Допустимо ли определять вложенные ограниченные указатели следующим образом: int* restrict a; int* restrict b; a =...
4461 просмотров
schedule 22.05.2023

Где я могу найти таблицу всех символов для каждого набора символов C99?
Я ищу таблицу (или способ ее создания) для каждого символа в каждом из следующих наборов символов C: Базовый набор символов Базовый набор символов выполнения Базовый исходный набор символов Набор символов выполнения Расширенный набор...
515 просмотров
schedule 05.06.2022

Выбор наиболее подходящего целочисленного размера/диапазона для переменных
stdint.h в C99 предоставляет множество вариантов целочисленных размеров, типов и диапазонов - так много, что я не знаю, какие выбрать! Я знаю, как используйте size_t и ptrdiff_t , когда это уместно, и я использую типы фиксированного...
279 просмотров
schedule 08.11.2023

ограничение размера спецификации преобразования printf
printf Спецификации преобразования — это % , за которыми следуют флаги, ширина, точность, модификатор длины и спецификатор преобразования. Существует ли практический предел размера спецификации преобразования? т.е. %s имеет длину 2 символа,...
2611 просмотров
schedule 18.04.2023

Законно ли создавать элемент гибкого массива нулевого размера?
Стандарт C99 позволяет создавать гибкие элементы массива, такие как typedef struct pstring { size_t length; char string[]; } pstring; Затем он инициализируется чем-то вроде pstring* s = malloc(sizeof(pstring) + len) . Допустимо ли...
454 просмотров
schedule 02.03.2022

Диапазон возвращаемых значений основной функции
Что стандарт говорит об основном диапазоне возвращаемых значений? Скажем только до 255? Так как int main(void){ return 256; } echo $? ; # out 0
9287 просмотров
schedule 20.01.2024

Как я могу сравнить спецификации C/C99 со спецификациями C++?
Мне нужно убедиться, что я могу использовать союзы определенным образом. Для C99 этот ответ подходит: Выравнивание элемента Union C99 - раздел 6.7.2.1 Спецификаторы структуры и объединения (параграф 14): Указатель на объект...
177 просмотров
schedule 03.07.2022

Как настроить профилировщик XCode4 на использование диалекта языка C99?
Я пытаюсь профилировать свое приложение для iPhone, используя XCode4, iPhone SDK 4.0 (и 4.3) и симулятор iPhone. К сожалению, я получаю такие ошибки: 'for' loop initial declaration used outside C99 mode Причина мне известна, все, что мне...
532 просмотров
schedule 19.10.2022

Почему GNOME не использует C99?
Глядя на исходный код mutter и показать исходный код , оба по-прежнему используют стиль C89 для объявления всех переменных на самом начало функции вместо того, где она впервые используется (ограниченный объем - это хорошо). Почему они не...
565 просмотров
schedule 12.05.2022

Разделить строку C на токены с помощью sscanf
Я пытаюсь разбить строку на токены, но несколько рекурсивно. Я пытаюсь разобрать: "content=0&website=Google" так что у меня есть способ вынуть параметры и значения. Если я попытаюсь strtok , я в конечном итоге уничтожу строку, которую...
20613 просмотров
schedule 28.12.2022

Неявное объявление dlsym недопустимо в c99
У меня есть необходимый импорт в файле. Я пытаюсь импортировать существующий проект и скомпилировать его в Xcode (4.2). Нужно ли включать что-то еще?
1756 просмотров
schedule 23.12.2023

Безопасно ли «переопределение» переменных в выражениях операторов?
Мой вопрос касается выражений оператора , которые добавлен как расширение в GNU C. Рассмотрим следующий код: #include <stdlib.h> #include <stdio.h> int main(void) { int i = 0; printf("%d\n", i); {int i =...
1194 просмотров
schedule 17.05.2024

Встраивание Google V8 в приложение ANSI C — с чего начать?
Я хотел бы встроить движок javascript в приложение ANSI C. На самом деле, я хотел бы иметь возможность запускать некоторый код, введенный во время выполнения, и в то же время иметь возможность взаимодействовать с некоторыми переменными и функциями...
4883 просмотров
schedule 25.07.2022

Объявление анонимной структуры в цикле for, clang не компилируется
Код, объявляющий анонимные структуры в цикле for, отлично работал в gcc с -std = c99 / gnu99 for (struct {int foo; int bar;} i = {0}; i.foo < 10; i.foo++); Однако когда я вместо этого переключаюсь на clang, я получаю сообщение об ошибке:...
1454 просмотров
c c99
schedule 10.02.2024

Понимание квалификатора limited на примерах
Поведение ключевого слова restrict определено в C99 в 6.7.3.1: Пусть D будет объявлением обычного идентификатора, который предоставляет средства для обозначения объекта P как указателя с ограничением на тип T. Если D появляется внутри...
2753 просмотров
schedule 05.10.2023

Проблемы с эффективностью при использовании C99 и C11.
На днях я преобразовывал программу, написанную по стандарту C99, в C11. В основном мотивом было использовать код с MSVC, но он был написан в Linux и в основном компилировался с поведением GCC по умолчанию. В процессе конвертации кода я обнаружил,...
271 просмотров
schedule 26.09.2022

Преобразование указателя в другой тип в C
int i = 42; int *p1 = &i; int long *p2 = (long*)p1; Это неопределенное поведение? Я думаю, что в С++ по какой-то причине это поведение, определяемое реализацией. Я посмотрел в C Standard: C99 6.3.2.3/7 Указатель на объект или...
868 просмотров
schedule 05.04.2022