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

Тип для представления байта в ANSI (C89 / 90) C?
Существует ли метод подачи жалоб на стандарты для представления байта в ANSI (C89 / 90) C? Я знаю, что чаще всего char бывает байтом, но я понимаю, что это не гарантируется. Кроме того, в стандарте C99 есть stdint.h, но что использовалось до C99?...
23326 просмотров
schedule 13.06.2024

Возвращает ли floor () что-то точно представимое?
В C89 floor () возвращает двойное значение. Гарантированно ли работает следующее? double d = floor(3.0 + 0.5); int x = (int) d; assert(x == 3); Меня беспокоит то, что результат floor не может быть точно представлен в IEEE 754. Таким образом,...
1102 просмотров
schedule 29.04.2022

Лучший способ переадресации объявленных структур typedef'd в C89?
struct SomeStruct; typedef struct SomeStruct SomeStruct; Вышеупомянутое работает, но есть ли более простой (или лучший) способ?
1264 просмотров
schedule 18.05.2022

Почему вы должны использовать strncpy вместо strcpy?
Изменить: я добавил источник для примера. Я наткнулся на этот пример : char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX] = "abcdefg"; char *return_string; int index =...
189398 просмотров
schedule 09.07.2023

Какие функции C99 считаются вредными или неподдерживаемыми
Я обычно пишу код C в C89, теперь некоторые функции C99 (такие как intxx_t или __VA_ARGS__ или snprintf ) очень полезны и могут быть даже жизненно важными. Перед тем, как приступить к своим требованиям от C89 до C99, я хотел знать, какие из...
2840 просмотров
schedule 01.07.2023

ANSI C (ISO C90): Может ли scanf читать/принимать беззнаковые символы?
Простой вопрос: может ли scanf читать/принимать «небольшое целое число» в беззнаковый символ в ANSI C? пример кода un_char.c: #include <stdio.h> #include <stdlib.h> int main(void) { unsigned char character; scanf("%hhu",...
5975 просмотров
schedule 16.05.2023

Рекомендуемые параметры командной строки Clang
Руководство для Clang, похоже, находится в стадии разработки, так что не могли бы вы помочь мне сформулировать окончательное параметры командной строки для компиляции ANSI-C (AKA C89, C90) с максимальной строгостью и соответствующими/полезными...
6346 просмотров
schedule 05.09.2022

Объявления переменных C после заголовка функции в определении [дубликаты]
При чтении исходного кода FreeBSD (см.: radix.h строки 158-173), я обнаружил объявления переменных, которые следовали за "заголовком функции" в определении. Это действительно в ISO C (C99)? когда это должно быть сделано в производственном коде...
1947 просмотров
schedule 15.02.2023

Указывает ли ANSI C или ISO C, каким должно быть -5% 10?
Кажется, я помню, что ANSI C не указывал, какое значение должно возвращаться, когда любой из операндов оператора по модулю отрицателен (просто он должен быть согласованным). Это было указано позже или было указано всегда, и я неправильно запоминаю?
2394 просмотров
schedule 13.07.2023

Реализация очереди FIFO на C
Для встроенного приложения я пытаюсь реализовать очередь структур в порядке поступления (FIFO) с использованием ANSI C. Кажется, самый простой способ сделать это — реализовать связанный список, чтобы каждая структура содержала указатель на следующий...
16169 просмотров
schedule 21.06.2022

Почему gcc -ansi удаляет объявления cosf и т.п.?
Вы, наверное, думаете, что я совершенно сумасшедший и ужасно плохо программирую. Один из таких случаев может иметь место, но, пожалуйста, ознакомьтесь с моими выводами. Да, я #include <math.h> Полный код можно найти здесь. (я пытался...
1742 просмотров
schedule 11.01.2023

Получение предупреждения ISO C90 запрещает массив переменного размера в компиляторе gcc при компиляции кода C90
Я компилирую свой код C90 c в gcc. Я получаю предупреждение ISO C90 forbids variable-size array при объявлении типа int symbols[nc]; Где nc — целое число, значение которого считывается из входного файла. Значения во входных файлах...
5480 просмотров
schedule 01.05.2023

Как найти мой текущий стандарт компилятора, например, если это C90 и т. д.
Я работаю на машине с Linux. Есть ли какая-нибудь системная команда для поиска стандарта, за которым следует компилятор C, который я использую?
34090 просмотров
schedule 07.12.2022

Использование M_PI со стандартом C89
Я использую C и пытаюсь получить доступ к константе M_PI (3.14159 ...). Я импортировал файл заголовка math.h, но константа M_PI все еще не определена. Путем поиска в StackOverflow я обнаружил, что мне нужно добавить #define _USE_MATH_DEFINES в...
33734 просмотров
schedule 27.09.2023

Макрос container_of ядра Linux и общие контейнеры в C90
Можно ли реализовать container_of макрос в чистом C90? Я не уверен, как это сделать, так как реализация ядра зависит от взломы GCC , такие как оператор typeof . Я спрашиваю, потому что хотел бы реализовать универсальный контейнер в C90,...
1900 просмотров
schedule 09.03.2023

C89, Смешивание объявлений переменных и кода
Мне очень любопытно узнать, почему именно компиляторы C89 будут сбрасывать вас, когда вы попытаетесь смешать объявления переменных и код, например, вот так: rutski@imac:~$ cat test.c #include <stdio.h> int main(void) { printf("Hello...
3086 просмотров
schedule 07.04.2023

C Интегральное переполнение?
взгляните на это. Компилятор жалуется, что у меня целочисленное переполнение, но когда я смотрю на правила стандарта C89 для целочисленного продвижения вместе со значениями в этом выражении, мне кажется, что переполнения нет. rutski@imac:~$ cat...
468 просмотров
c c89
schedule 16.07.2022

Связывание математической библиотеки с кодом C90 с помощью GCC
Я хотел бы скомпилировать простой код C90 с использованием математической библиотеки: main.c: #include <stdlib.h> #include <stdio.h> #include <math.h> int main() { printf("M_PI: %f\n", M_PI); } Я использую компилятор...
5062 просмотров
schedule 07.06.2024

Привести long к указателю на функцию?
У меня есть следующий код: long fp = ... void (*ptr)(long, char*, char*) = fp; Длинный fp является правильным указателем на функцию, который является длинным. Я получаю стандартное предупреждение «создает указатель из int без приведения»....
2449 просмотров
schedule 08.07.2022

Высокий уровень - интерпретируемый язык в C89
Мне нужен любой интерпретатор языка высокого уровня, написанный на C89. Каковы мои варианты? Я хотел бы взять язык и, возможно, расширить его, чтобы поддерживать некоторые низкоуровневые функции, зависящие от ОС, на хост-платформе....
60 просмотров
schedule 20.04.2023