Вопросы по теме '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 просмотров
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