Описание тега c89
Этот тег предназначен для вопросов, касающихся международного стандарта ISO 9899:1990, также известного как "C89", "C90" или "ANSI C", с поправками и техническими исправлениями (в отличие от K&R C, C99, C11 или более поздних версий стандарта C.).
2
ответа
Совместимый способ разбора 64-битного целого числа с использованием sscanf с GCC
Я собрал следующее c программа с gcc -ansi -pedantic -Wall test.c: #include <stdio.h> #include <stdint.h> #define BUFFER 21 int main(int argc, char* argv[]) { uint64_t num = 0x1337C0DE; char str[BUFFER]; /* Safely Holds UINT64_MAX */ if(…
04 июл '13 в 04:37
2
ответа
Не удается получить последний токен из буфера файлов
Я написал некоторый код, который читает текстовый файл и загружает каждую строку в буфер. Затем этот буфер обрабатывается с использованием функции strtok() с "," в качестве разделителя. Я получаю первые 3 токена просто отлично, но не могу получить п…
29 апр '15 в 22:40
1
ответ
Статическая библиотека, созданная в VS2010, не поддерживается в CVI
Я создал простую статическую библиотеку Ansi-C90 с VS2010. Мне удалось создать C++ проект в VS2010, импортировать и полностью протестировать библиотеку. Я открыл проект LabWindows CVI и попытался импортировать туда файл lib. К сожалению, там не так …
18 апр '13 в 14:41
1
ответ
Компилировать C99-совместимый.so в Windows
Я использую библиотеку StarRuby ( https://github.com/hajimehoshi/starruby) и пытаюсь скомпилировать последнюю версию в файл.so для ссылки в моем проекте ruby. Однако, после получения необходимых библиотек для компиляции и запуска файла extconf.rb дл…
22 ноя '12 в 21:05
3
ответа
Проблемы с использованием ключа -ansi в MinGW 3.4.5
Я читал о флагах, используемых в gcc, и прочитал рекомендацию использовать gcc -ansi -pedantic -Wall file1 [file2 [file3...]] -o output, Ради качества моего кода, чтобы он оставался стандартным и получал все предупреждения об этом. Ну, насчет компил…
17 май '09 в 18:23
4
ответа
Как использовать постоянную #defined в качестве максимальной ширины поля в fscanf?
Все это в C89, а не в C99. У меня есть постоянная. #define MAX_NAME_LEN 256 Я хочу использовать его в качестве максимальной ширины поля в fscanf, вроде этого. fscanf(input, "%256s", name); Но я хочу использовать MAX_NAME_LEN вместо литерала 256 ради…
21 июн '17 в 20:29
1
ответ
Как передать char в C в массив char?
Скажи, что у меня есть: .... char aLine; char inputLine[1000]; scanf("%c", &aLine); .... Теперь я хочу преобразовать aLine в массив char, чтобы я мог посчитать, сколько символов в aLine. Как я могу это сделать?
18 сен '18 в 20:44
3
ответа
Почему GNOME не использует C99?
Глядя на исходный код и разборчивый исходный код, оба по-прежнему используют стиль C89 объявления всех переменных в самом начале функции вместо того, где она впервые используется (ограниченная область хороша). Почему они не используют C99? GNOME 3 б…
20 май '11 в 02:17
2
ответа
Должен ли я использовать "-ansi" или явное "-std=..." в качестве флагов компилятора?
Я читал, что ANSI C не совсем то же самое, что и ISO C, и компиляторы могут отличаться в интерпретации значения "-ansi". (gcc отображает его на C90, clang отображает его на C89) В данный момент я хотел бы использовать "-std=..." вместо "-ansi", поск…
24 апр '12 в 14:32
3
ответа
Разве это плохо, чтобы переполнить и переполнить неподписанную переменную?
Kraaa. Я учусь в школе программирования, которая требует, чтобы мы написали C-функции с менее чем 25 строками кода. Итак, в основном, каждая строка имеет значение. Иногда мне нужно укорачивать задания примерно так: #include <stddef.h> #include…
21 дек '13 в 18:34
1
ответ
MS VS 2008 и C99
Я с интересом прочитал пост "Насколько универсально поддерживается C99?". В одном из комментариев говорится, что Microsoft не поддерживает C99. Но символ комментария // работает с VS 2008, и этот символ находится в C99. У меня есть два вопроса: Наск…
16 апр '10 в 20:59
1
ответ
Segfault при доступе к элементу структуры
Я столкнулся со странной проблемой, моя программа имеет ошибку при попытке доступа к элементу структуры, но адрес моей структуры не равен NULL, и я никогда не освобождаю эту структуру. Адрес структуры - что-то вроде "0x8000000000" или "0x2000000000"…
09 мар '15 в 17:37
1
ответ
Синтаксический анализ WEXITSTATUS возвращаемых суммированных кодов возврата в C с помощью побитовой операции
Я только новичок, когда дело доходит до побитовой математики - если это даже правильный термин - и искал лучший способ сделать логику для кода возврата с внутренним суммированием (как это стандартно для различных программ Unix). Т.е. код возврата мо…
17 апр '14 в 15:24
1
ответ
Лучший способ продвинуть объявление структур typedef'd в C89?
struct SomeStruct; typedef struct SomeStruct SomeStruct; Вышеуказанное работает, но есть ли более простой (или лучший) способ?
11 мар '09 в 00:40
1
ответ
Не удается избавиться от предупреждения "эта десятичная константа не подписана только в ISO C90"
Я использую хэш FNV в качестве алгоритма хэширования в моей реализации хэш-таблицы, но я получаю предупреждение в заголовке вопроса в этой строке: unsigned hash = 2166136261; Я не понимаю, почему это происходит, потому что, когда я делаю это: printf…
27 фев '10 в 15:53
1
ответ
Получение одномерных массивов из двумерного массива
У меня есть массив как int outer[4][3] = { { 1, 2, 3 }, { 2, 3, 5 }, { 1, 4, 9 }, { 10, 20, 30 } }; и я хотел бы получить указатель / массив для n-го одномерного массива внутри outer, что-то вроде void foo () { printf("%d %d %d\n", outer[1][0], oute…
02 фев '16 в 16:40
3
ответа
Являются ли wchar_t и многобайтовые функции частью ANSI C?
C99 а также C11 служба поддержки wchar_t и многобайтовые функции. Но я не уверен насчет ANSI C (1989). Это правильно, что wchar_t и многобайтовые функции (mblen, mbstowcs, mbtowc, wcstombs, wctomb) являются частью ANSI C? Я не нахожу эти функции в к…
15 апр '13 в 17:12
2
ответа
Объявления для перечислений и структур
Я написал несколько файлов: main.c, functions.c, functions2.c и header.h. Некоторые функции в functions.c и functions2 используют некоторые перечисления и структуры. Где я должен разместить свои перечисления и структуры? Как написать объявления для …
08 фев '13 в 20:31
2
ответа
Порядок вычисления выражения в C
Если у меня есть следующее выражение: c = (a) * (b) Что стандарт C90 говорит об оценке порядка подвыражений "a" и "b"?
24 фев '12 в 20:37
2
ответа
Любой способ создать символ размера 32 в ANSI c?
Я знаю, что C++11 имеет тип char32_t, который составляет 4 байта, и мне интересно, возможно ли реализовать что-то подобное в C. В программе, которую я пишу, необходимо, чтобы все массивы char были кратны 4 байтам.
13 фев '15 в 19:12