0
ответов

Элегантный анализ строки запроса на языке C

Я пытаюсь проанализировать строку запроса URL на языке C и не знаю, как это сделать элегантно. Будем очень признательны за любые подсказки или предложения: static void readParams(char * string, char * param, char * ...
вопрос задан: 12 March 2012 03:45
0
ответов

Как сообщить GCC, что аргумент-указатель всегда выравнивается по двойному слову?

В моей программе есть функция, выполняющая простое сложение векторов c[0:15] = a[0:15] + b [0:15]. Прототип функции: void vecadd(float * ограничение a, float * ограничение b, float * ограничение c); На ...
вопрос задан: 8 March 2012 02:08
0
ответов

Разбить строку C на токены с помощью sscanf

Я пытаюсь разбить строку на токены, но несколько рекурсивно. Я пытаюсь разобрать: "content=0&website=Google", чтобы иметь возможность извлечь параметры и значения. Если я попробую strtok, я...
вопрос задан: 6 March 2012 06:29
0
ответов

Как я могу убедиться, что lrint встроен в gcc?

После прочтения предмета возникает огромное количество вопросов. свидетельства из многочисленных источников о том, что использование стандартных приведений типов C или C ++ для преобразования чисел с плавающей запятой в целые числа на Intel очень медленн
вопрос задан: 23 February 2012 18:11
0
ответов

Прямое объявление встроенных функций

У меня есть файл заголовка, который будет содержать большое количество (30+) встроенных функций. Вместо того, чтобы заставлять читателя прокручивать или искать определение (реализацию) встроенной функции, я ...
вопрос задан: 16 February 2012 19:07
0
ответов

В чем разница между intXX_t и int_fastXX_t?

Недавно я обнаружил существование стандартного самого быстрого типа, в основном int_fast32_t и int_fast64_t. Мне всегда говорили, что для нормального использования в основной архитектуре лучше использовать классическую ...
вопрос задан: 11 February 2012 11:32
0
ответов

Есть ли способ включить для (int i = 0;… в gcc без включения режима c99

У меня есть очень большая программа, которая компилируется с gcc без предупреждений. Если я включу режим c99 --std = c99 в командной строке, выдает огромное количество предупреждений и ошибок. Но мне нравится идиома для (int ...
вопрос задан: 7 February 2012 11:07
0
ответов

Лучший способ сравнить два массива int одинаковой длины?

как лучше всего сравнить массивы int b и c с a: int a [] = {0 , 1,0,0,1}; int b [] = {0,1,0,0,1}; int c [] = {1,1,0,0,1}; b и c - просто примеры, предположим, что они могут быть любой комбинацией нулей ...
вопрос задан: 2 February 2012 23:19
0
ответов

Что означает точка (.) В инициализаторе структуры?

static struct fuse_oprations hello_oper = {.getattr = hello_getattr, .readdir = hello_readdir, .open = hello_open,. читать = hello_read, }; Я плохо понимаю этот синтаксис C. Я не могу ...
вопрос задан: 30 December 2011 08:12
0
ответов

Выбор наиболее подходящего целочисленного размера / диапазона для использования для переменных

stdint.h в C99 предоставляет множество вариантов для целочисленных размеров, типов и диапазонов - так много, что я не знаю какие выбирать! Я знаю, как использовать size_t и ptrdiff_t, когда это необходимо, и я использую фиксированный размер ...
вопрос задан: 17 December 2011 15:21
0
ответов

Что делает это предупреждение компилятора, сгенерированное '-pedantic', средним?

Что означает это предупреждение GCC? cpfs.c:232:33: предупреждение: ISO C99 требует, строят аргументацию, которая будет использоваться, соответствующие строки: __ приписывают __ ((формат (printf, 2, 3))) статическая пустота cpfs_log (log_t уровень...
вопрос задан: 9 December 2011 17:56
0
ответов

Разрешено ли компилятору добавлять функции в стандартные заголовки?

Разрешено ли компилятору C добавлять функции в стандартные заголовки и при этом соответствовать стандарту C? Я где-то читал это, но не могу найти никаких ссылок в стандарте, кроме приложения J.5: ...
вопрос задан: 25 November 2011 14:12
0
ответов

Использование size_t для указания точности строки в printf

C У меня есть структура для представления строк в память выглядит так: typedef struct {size_t l; char * s; } str_t; Я считаю, что использование size_t имеет смысл для указания длины char ...
вопрос задан: 10 November 2011 22:50
0
ответов

Почему смешивание деклараций и кода было запрещено до C99?

Недавно я стал ассистентом преподавателя университетского курса, который в основном преподает C. Курс стандартизирован для C90, в основном из-за широкой поддержки компилятора. Один из очень запутанных ...
вопрос задан: 5 November 2011 23:58
0
ответов

Всегда ли безопасно преобразовывать целочисленное значение в void* и обратно в POSIX?

Этот вопрос почти дублирует некоторые другие, которые я нашел, но этот конкретно касается POSIX, и очень распространенного примера в pthreads, с которым я сталкивался несколько раз. Меня в основном беспокоит ...
вопрос задан: 19 October 2011 18:47
0
ответов

Странное использование условного оператора в Linux

В ядре Linux 3.0.4 файл mm / filemap.c содержит следующую строку кода: retval = retval?: Desc.error; Я попытался скомпилировать аналогичный минимальный тестовый пример с помощью gcc -Wall и не получил никаких предупреждений; поведение ...
вопрос задан: 19 October 2011 02:39
0
ответов

Функция принтера Prime Number, сбои при прохождении достаточно большого количества номеров

У меня есть этот кусок кода, который напечатает простые номера на экран. Например, promprimes (500000) заполнят экран со всем простым числом до 500000-й (который составляет 7368787). ...
вопрос задан: 4 September 2011 19:15
0
ответов

Может ли масштабировать алгоритмы грубой силы?

У меня есть математическая проблема, которую я решаю по пробным и ошибкам (я думаю, что это называется грубой силой), и программа работает нормально, когда есть несколько вариантов, но, как я добавляю Больше переменных / данных требуется больше времени
вопрос задан: 1 September 2011 02:33
0
ответов

Const Array Const {}

Итак, вы можете сделать это: void foo (const int * const pintarray, const unsigned int размер); Что говорит, что указатель наступает только для чтения, а целое число указывает только на чтение. Вы можете получить доступ к ...
вопрос задан: 31 August 2011 16:05
0
ответов

Неявное объявление функции - C99

В настоящее время я использую Xcode 4, и в моем файле .pch у меня есть этот макрос: #define localize (s) NSLocalizedString ((s), nil). Когда я пытаюсь использовать этот макрос в каком-то файле .m, я получаю это предупреждение: Неявный ...
вопрос задан: 24 August 2011 02:00
0
ответов

Не удается инициализировать статическую структуру указателем на функцию из другой единицы перевода?

В документации Python утверждается, что следующее не работает на "некоторых" платформы или компиляторы ": int foo (int); // Определено в другой единице перевода. структура X {int (* fptr) (int); } x = {& foo}; ...
вопрос задан: 8 August 2011 21:58
0
ответов

Создание библиотеки DLL в GCC или Cygwin?

Мне нужна помощь в компиляции сценария ("iterator.c") в DLL. Я не могу использовать VS2010, поскольку он не поддерживает функции, добавленные к C в стандарте C99 (я использую "complex.h", но VB не поддерживает его). ...
вопрос задан: 17 July 2011 01:30
0
ответов

C99 - почему false и true определены как 0 и 1, а не как ((bool) 0) и (( bool) 1)?

Просто наткнулся на assert, который потерпел неудачу, поскольку он сравнивал false с типом возврата функции, поскольку сама функция вернула bool, а assert проверил не только значение, но и тип .. .
вопрос задан: 8 July 2011 17:49
0
ответов

Хорошее введение в [закрыто]

Я хочу порекомендовать использование тем, кто выполняет printf со смешанными 32/64 битными сборками. Я попытался найти в Google вводную или учебную страницу с несколькими примерами и рекомендациями по использованию, но ...
вопрос задан: 9 June 2011 21:09
0
ответов

В C гарантированы постоянные переменные быть отличными в памяти?

Говоря о строковых литералах, стандарт C99 говорит (6.4.5.6): Не указано, являются ли эти массивы различными, если их элементы имеют соответствующие значения. Если программа пытается ...
вопрос задан: 4 June 2011 12:34
0
ответов

Библиотеки мемоизации для C?

Для проекта, над которым я работаю, существует ряд состояний, в которых вычисления могут дать те же результаты (и не имеют побочных эффектов). Очевидным решением было бы использовать ...
вопрос задан: 20 May 2011 02:33
0
ответов

Тип битовых полей без знака: int или unsigned int

Раздел 6.3.1.1 стандарта C99 содержит: Следующее может использоваться в выражении везде, где может быть int или unsigned int использовано: [...] Битовое поле типа _Bool, int, signed int, ...
вопрос задан: 12 May 2011 11:46
0
ответов

реализация библиотеки long double math?

Каковы доступные переносимые реализации длинных двойных математических функций библиотеки C99 (Exp, cosl, logl и т. Д.), Если таковые имеются? Я просмотрел источники fdlibm (на основе Sun), NetBSD (на основе UCB) и т. Д. И ...
вопрос задан: 10 May 2011 04:20
0
ответов

Что эквивалентно atoi или strtoul для uint32_t и других типов stdint?

Я ищу стандартные функции для преобразования строки в целое число stdint.h, например int i = atoi ("123"); беззнаковый длинный ul = strtoul ("123", NULL, 10); uint32_t n = mysteryfunction ("123"); // <--...
вопрос задан: 21 April 2011 14:19
0
ответов

Чем следует заменить «memcpy» внутри ядер OpenCL?

Язык OpenCL, расширяющий C99, не поддерживает функцию memcpy. Что следует использовать вместо этого?
вопрос задан: 13 April 2011 17:13