Динамически изменяемые массивы в языке Си

Я пытаюсь выучить C, используя http://c.learncodethehardway.org / но я застрял на одном из дополнительных кредитных вопросов в главе 18 (http://c.learncodethehardway.org/book/learn-c-the-hard-waych18.html и я надеюсь, что кто-нибудь сможет мне помоч ...

Что будет делать realloc, если нет последовательного пространства памяти?

realloc используется для динамического перераспределения памяти. Предположим, я выделил 7 байт с помощью функции malloc и теперь хочу расширить ее до 30 байт. Что произойдет в фоновом режиме, если в памяти нет последовательного (непрерывно в одной ...

Очистка JNI и потоки демонов в Android NDK

Таков поток JNI JNI_onLoad - get JavaVM (get jclass для вызова статических методов) Затем нужно вызвать что-то из Java на C: GetEnv () , чтобы получить JNIEnv и AttachCurrentThread(), чтобы использовать его. Вызов метода java Процесс java ме ...

вводит ли JNI дополнительный поток для машинного кода?

В настоящее время я использую android NDK для написания собственного кода на языке C. я узнал, что с помощью JNI мы можем совершать двухсторонние вызовы с java на C и с C на java. Мне интересно, если использование JNI вводит дополнительный поток не ...

#предупреждение и #ошибка как макрос

Есть ли способ использовать макросы для принудительного вызова предупреждений и ошибок при компиляции? В настоящее время у меня есть что-то вроде этого: #if defined( __clang__ ) # define PRAGMA( x ) _Pragma( #x ) #elif defined ...

C-значение scanf непосредственно из терминала

У меня есть процесс c, который ожидает ввода scanf(). Я хочу сохранить его результаты в файл *.txt. To terminal (linux) ./process > out.txt Как можно написать в терминале scanf prehand? Спасибо. ...

Не удается корректно печатать расширенные символы ASCII в NCURSES

У меня есть такая программа: #include <ncurses.h> int main () { initscr(); mvaddstr(0, 0, " A B C D E "); mvaddstr(1, 24, "ñandñ"); mvaddstr(1, 34, "esdrñjulñ"); refresh() ...

утечка памяти с повторным использованием strdup по

Я создаю массив имен файлов, полученных из структуры linux_dirent (d). На каждой итерации цикла имя файла получается с помощью d_entry = strdup(d->d_name); И указатель на это добавляется в массив: srcList[aSz] = d_entry; Поскольку массив ук ...

Есть ли способ "дестринифицировать" входные данные, чтобы их можно было использовать в качестве идентификатора?

Задача Можно ли "дестрировать" строку ввода из файла,чтобы сделать ее похожей на переменную или идентификатор? Пример может помочь проиллюстрировать, что я имею в виду: // A few functions, definitions of these don't matter in this example. void f ...

C обратный двоичный код [дубликат]

Возможный дубликат:C обратные биты в целочисленном беззнаковом Как я могу обратить двоичное число только с помощью двоичных операторов? Например: 11100000 -> 00000111 00110100 -> 00101100 00111111 -> 11111100 ...

сделать конечный файл $(%символический)

Может ли кто-нибудь объяснить, что $(%SYMBOLIC) означает в цели make file ниже? R_all: $(%SYMBOLIC) $(CD_MAKE) $(BASE_ROOT) R_all ...

Завершение цикла, если пользователь выбирает определенную функцию

Привет, мне нужна небольшая помощь с проблемой! У меня есть основной класс, который содержит цикл. Внутри этого цикла пользователь может вызывать различные функции, которые делают разные вещи, но я хочу, чтобы, если пользователь выбирает определенн ...

C реализация бинарного дерева поиска

Я пытался реализовать bst, в C. Я думаю, что я почти там, но в моей функции add node я создаю временный узел под названием current для хранения текущего узла, который посещается в дереве. Затем, когда я изменяю текущий узел, мой исходный указатель не ...

CPSID i инструкция по сборке не поддерживается Cortex M0

Я разрабатываю код для Cortex M0, используя FreeRTOS и eclipse с плагином AC6. В конце моих задач я использую assert, чтобы определить, является ли водяной знак моей задачи больше, чем указанный размер задачи. Макрос, который я использую для моего as ...

Коллективных операций MPI и пожизненный процесс (с/C++)

Для проблемы, которую я хотел бы обсудить, давайте возьмем MPI_Barrier в качестве примера. Стандарт MPI3 гласит , Если комми-это intracommunicator, MPI_BARRIER блокирует абонент пока все члены группы вызвали его. Вызов возвращается только при ...

binutils-ядро - "двоичный" смысл?

Я читаю лекции xv6. У меня есть файл с именем initcode.S, который должен быть связан в ядре. Теперь таким образом создаются два символа: extern char _binary_initcode_start[], _binary_initcode_size[]; Внутри функции. Лекция гласит: В проце ...

Быстрое приведение Unsafemutable Pointer в C callback

Попытка взаимодействия с Аудиоквестами iOS с помощью swift и столкновение с блокпостом при попытке передать объект, определяющий мое состояние. Мой объект состояния-это пользовательская структура, определенная следующим образом: struct UserData { ...

Как вызов printf () добавляет сюда числа?

Я не понимаю, как этот вызов printf() работает, чтобы сложить два числа. Имеет ли %*c какое-то отношение к этому? //function that returns the value of adding two number int add(int x, int y) { NSLog(@"%*c",x, '\r'); NSLog(@"%*c",y, '\r'); ...

Когда использовать char a[] над char p* и наоборот?

В последнее время я изучаю все о языке Си, и меня смущает, что Когда использовать char a[]; Над char *p; Когда речь заходит о манипуляциях со строками. Например, я могу назначить строку им обоим следующим образом: char a[] = "Hello World!"; ...

C++ управление памятью ссылочных типов

Я все еще довольно начинающий программист, и у меня есть вопрос об управлении памятью c++ с типами refence. Прежде всего, мое понимание ссылочных типов: Указатель помещается в стек,и фактические данные, на которые указывает указатель, создаются и ...