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