0
ответов

Должна ли библиотека C предлагать возможность использования пользовательских распределителей памяти?

Я вижу, что в некоторых библиотеках C есть возможность указывать собственные распределители памяти (заменители malloc/free). В каких системах/средах/условиях это полезно? Разве эта функция не просто пережиток...
вопрос задан: 5 April 2012 10:16
0
ответов

объявление памяти с помощью malloc

gcc (GCC) 4.6.3 с89 Переносимые библиотеки среды выполнения apache Здравствуйте! Простой вопрос. Думаю, я пытаюсь создать значение uuid. Я хочу, чтобы функция, которая создает его, была автономной (черный ящик), поэтому я...
вопрос задан: 4 April 2012 09:21
0
ответов

Схемы распределения Malloc

Да, я прохожу курс компьютерных систем. У меня было несколько вопросов о различных схемах распределения для реализации malloc. Что касается явных списков, если я реализую malloc с использованием стека, подобного LIFO, что...
вопрос задан: 4 April 2012 05:33
0
ответов

Как создать буфер без использования malloc() в ядре Linux?

Как я могу создать буфер в ядре linux без функции malloc() (или calloc()) и очистить буфер без функции free()?
вопрос задан: 27 March 2012 03:57
0
ответов

Динамическое размещение структуры внутри структуры

Я динамически выделяю структуру, член которой имеет другую структуру: struct a { // другие элементы struct b; } struct b в основном содержит указатель на другую структуру b, так что подумайте о...
вопрос задан: 25 March 2012 23:07
0
ответов

В какой ситуации я должен использовать malloc? Меня смущает, когда в C следует использовать динамическое размещение

. Если я хочу создать 2D-массив с размерами, заданными пользовательским вводом, нельзя ли просто сделать это последовательно в основной функции? Получив размеры с помощью scanf, я создаю массив с помощью...
вопрос задан: 25 March 2012 11:59
0
ответов

Почему malloc(0) возвращает ненулевой адрес в Windows?

Приведенный ниже код возвращает адрес при выполнении в Windows, хотя я ожидал, что он вернет NULL. основной () { символ *ptr = NULL; указатель = malloc(0); printf("Возвращен malloc = %u\n", ptr); }...
вопрос задан: 15 March 2012 15:38
0
ответов

Как инициализировать const в структуре в C (с помощью malloc)

Я пробовал; недействительным * malloc (целое число без знака); struct deneme { const int a = 15; константа int b = 16; }; int main(int argc, const char *argv[]) { struct deneme *mydeneme = malloc(sizeof(struct ...
вопрос задан: 13 March 2012 20:24
0
ответов

Написание безопасного кода.Действительно каждый раз проверять наличие ошибок распределения?

Я написал трехмерную реализацию игры «Жизнь» Джона Конвея на C. Теперь я хочу сделать код безопасным для ошибок. В этой статье с сайта yolinux.com говорится: Проверка распределения памяти...
вопрос задан: 11 March 2012 21:05
0
ответов

call gettid witin glibc

Я работаю в glibc, и мне нужно получить идентификатор текущего потока. Для этого я использую системный вызов (SYS_gettid); Проблема в том, что я вынужден включить bits / syscall.h вместо идеального случая, то есть sys / syscall.h. ...
вопрос задан: 8 March 2012 15:08
0
ответов

При динамическом выделении памяти в C для строк учитывается ли \0 конец строки char?

При динамическом выделении памяти в C для строк учитывается ли конец \0 строки char? char *copyInto, *copyFrom="test"; // Следует copyInto = (char*)malloc(strlen(copyFrom)); // достаточно? // ...
вопрос задан: 8 March 2012 00:46
0
ответов

Могу ли я предположить, что вызов realloc с меньшим размером освободит остаток?

Давайте рассмотрим очень короткий фрагмент кода: #include int main() { char* a = malloc(20000); char* b = realloc(a, 5); бесплатно (б); вернуть 0; } После прочтения руководства...
вопрос задан: 5 March 2012 22:46
0
ответов

Какое распределение быстрее? malloc или локальная переменная

Какой способ выделения памяти предпочтительнее для функции, которая часто выделяет и освобождает память? Предположим, что эта функция вызывается от 500 до 1000 раз в секунду на частоте 1 ГГц...
вопрос задан: 5 March 2012 09:07
0
ответов

Является ли плохой практикой разбивать массив C, просто используя указатель на его середину?

Я реализую версию сортировки слиянием в c. Для первого шага мне нужно разбить массив на подмассивы. Плохая практика - просто делать это, имея два указателя, один из которых указывает на начало ...
вопрос задан: 17 February 2012 13:04
0
ответов

указатель malloc на массив

int (* p) [2]; p = (int (*)) malloc (sizeof (int [2]) * 100); Как правильно определить указатель на массив? Я не могу определить часть с помощью (int (*))
вопрос задан: 17 February 2012 08:03
0
ответов

ARC и Malloc: EXEC_BAD_ACCESS

Я уже некоторое время работаю над проектом и решил перейти на ARC. Я сталкивался с каким-то кодом, который каждый раз ломался, и я хотел бы знать, почему. Мне удалось ...
вопрос задан: 6 February 2012 17:44
0
ответов

C: Что лучше? Массив указателей на структуры Malloc или массив структур?

Я уже некоторое время интересовался этим: при использовании структур внутри массивов, что касается распределения памяти, лучше ли выделить новую структуру для каждой записи в массиве, или ...
вопрос задан: 2 February 2012 22:55
0
ответов

При каких обстоятельствах malloc может вернуть NULL?

Со мной такого никогда не случалось, и я программирую уже много лет. Может кто-нибудь привести мне пример нетривиальной программы, в которой malloc на самом деле не будет работать? Я не говорю о памяти ...
вопрос задан: 1 February 2012 19:21
0
ответов

Как освободить память в C?

Я пишу код, который содержит множество одномерных и двухмерных массивов. Я получил «ошибка: не могу выделить регион», и я думаю, это потому, что выделено слишком много памяти. Я использую функции "malloc" и "free", но я ...
вопрос задан: 1 February 2012 16:47
0
ответов

Дизайн C API: что делать, когда malloc возвращает NULL?

Допустим, я пишу небольшую библиотеку на C - скажем, какую-то структуру данных. Что мне делать, если я не могу выделить память? Это может быть очень важно, например Мне нужна память для инициализации ...
вопрос задан: 29 January 2012 03:13
0
ответов

Какие полезные примеры malloc () в C?

Я только что читал о malloc () в C. В статье в Википедии приводится пример, однако он оправдывает выделение достаточно памяти для массива из 10 целых чисел по сравнению с массивом int [10]. Не очень полезно. ...
вопрос задан: 29 January 2012 01:01
0
ответов

malloc и размещение новое по сравнению с новым

Я изучал это в течение последних нескольких дней, и до сих пор я не нашел ничего убедительного, кроме догматических аргументов или апелляций к традиции (например, «это Путь C ++! "). Если я ...
вопрос задан: 22 January 2012 21:53
0
ответов

Интерпретация вывода Valgrind trace-malloc

Valgrind - отличный отладчик памяти, и у него есть опция --trace-malloc = yes, которая дает что-то вроде этого: --16301-- malloc (8) = 0x4EAD748 --16301-- бесплатно (0x4EAD748) --16301-- бесплатно (...
вопрос задан: 5 January 2012 23:50
0
ответов

Почему malloc инициализирует значения 0 в gcc?

Возможно, это отличается от платформы к платформе, но когда я компилирую с помощью gcc и запускаю приведенный ниже код, я получаю 0 каждый раз в моем ubuntu 11.10. #include # include int ...
вопрос задан: 30 December 2011 08:15
0
ответов

Ошибка затирания памяти

У меня есть небольшой фрагмент кода. Я скомпилировал его с помощью -lmcheck, поскольку я пытаюсь отладить код, в котором у меня такая же похожая ошибка. Я получаю эту ошибку, когда запускаю этот код: память забита перед выделением ...
вопрос задан: 26 December 2011 20:19
0
ответов

Выделить память и сохранить строку в c

Мне было интересно, почему следующий код не работает int main (int argc, char ** argv) {char * test = (char *) malloc (12 * sizeof (char)); test = "только тестирование"; бесплатно (тестовая); } После ...
вопрос задан: 22 December 2011 06:30
0
ответов

Можно ли вызвать memset () с нулевым указателем, если размер равен 0?

По той или иной причине я хочу вручную запустить обнуленную версию malloc ( ). Чтобы минимизировать алгоритмическую сложность, я хочу написать: void * my_calloc (size_t size) {return memset (malloc (size), 0, ...
вопрос задан: 21 December 2011 23:27
0
ответов

alloc структура с массивом нулевой длины с использованием new

В C (с использованием gcc) я могу объявить структуру переменной длины, как показано ниже: {uint8_t op; uint32_t адрес; uint16_t size; полезная нагрузка uint8_t [0]; ...
вопрос задан: 9 December 2011 21:56
0
ответов

Освобождает ли ARC для вас malloc'ed память?

Automatic Reference Counting освобождает объекты Objective-C, которые были выделены. Как насчет примитивных переменных типа char *?
вопрос задан: 27 November 2011 09:33
0
ответов

malloc() vs. HeapAlloc()

В чем разница между malloc() и HeapAlloc()? Насколько я понимаю, malloc выделяет память из кучи, так же как и HeapAlloc, верно? Так в чем же разница? Спасибо!
вопрос задан: 22 November 2011 09:14