Публикации по теме 'malloc'


Как использовать связанные списки в C
------------------------- ------------------------ | | | \ | | | | DATA | NEXT |-------------| DATA | NEXT | | | | / | | | ------------------------- ------------------------ Одним из способов создания динамических структур данных в C является использование связанных списков. В этой статье я представляю основные методы добавления, удаления и..

Вопросы по теме 'malloc'

Как регистрировать malloc
Это немного гипотетично и сильно упрощено, но... Предположим, что программа будет вызывать функции, написанные третьими лицами. Эти стороны можно считать невраждебными, но нельзя считать их «компетентными». Каждая функция будет принимать...
1313 просмотров
schedule 13.11.2023

В каких случаях использовать malloc и / или new?
Я вижу, что в C ++ существует несколько способов выделения и освобождения данных, и я понимаю, что когда вы вызываете malloc , вы должны вызывать free , а когда вы используете оператор new , вы должны соединяться с delete , и смешивать их будет...
303725 просмотров

malloc обнуляет память?
Учитывая этот код C, скомпилированный с gcc 4.3.3 #include <stdio.h> #include <stdlib.h> int main(int argc, char * argv[]) { int * i; i = (int *) malloc(sizeof(int)); printf("%d\n", *i); return 0; } Я ожидаю,...
12688 просмотров
schedule 27.02.2024

malloc против mmap в C
Я создал две программы, одну с использованием malloc , а другую с использованием mmap . Время выполнения с использованием mmap намного меньше, чем с использованием malloc . Например, я знаю, что когда вы используете mmap , вы избегаете...
45066 просмотров
schedule 16.01.2024

В частности, как fork() обрабатывает динамически выделяемую память из malloc() в Linux?
У меня есть программа с родительским и дочерним процессом. Перед fork() родительский процесс вызывал malloc() и заполнял массив некоторыми данными. После fork() дочернему элементу нужны эти данные. Я знаю, что мог бы использовать канал, но...
23182 просмотров
schedule 03.11.2023

Использование malloc вместо new и вызов конструктора копирования при создании объекта
Я хотел попробовать масштабируемый_аллокатор TBB, но был сбит с толку, когда мне пришлось заменить часть моего кода. Вот как выполняется распределение с помощью распределителя: SomeClass* s = scalable_allocator<SomeClass>().allocate(...
5652 просмотров

функция malloc/memcpy работает независимо от NUMA?
Пытаясь увеличить скорость моих приложений на не-NUMA/стандартных ПК, я всегда обнаруживал, что узким местом был вызов malloc() , потому что даже на многоядерных машинах он используется/синхронизируется между всеми ядрами. У меня есть ПК с...
1916 просмотров
schedule 02.05.2024

как динамически выделить память для массива в сборке 8086 с помощью nasm
Так что мне нужно сделать что-то подобное в сборке int *arr = malloc(sizeof (int) * size); где пользователь вводит размер, и в зависимости от размера будет вызываться цикл while для заполнения массива. Итак, мне нужен указатель на...
11819 просмотров
schedule 14.10.2023

Если ссылаться на постоянные строки символов с помощью указателей, постоянно ли занята память?
Я пытаюсь понять, где вещи хранятся в памяти (стек/куча, есть ли другие?) при запуске программы c. При компиляции выдается предупреждение: функция возвращает адрес локальной переменной: char *giveString (void) { char string[] = "Test";...
2337 просмотров
schedule 11.04.2024

попытаться буферизовать значение переполнения, выделенное malloc()
Я немного запутался в функции malloc(). если sizeof(char) равно 1 byte и функция malloc() принимает N байтов в качестве аргумента для выделения, то, если я это сделаю: char* buffer = malloc(3); Я выделяю буфер, который может...
7086 просмотров
schedule 07.02.2024

Использование malloc в конструкторе шаблонного класса
Допустим, у меня есть класс, который будет использоваться для создания структуры дерева или списка. Давайте назовем это template <typename K, typename V> class Node{ // some data Node<K,V>* next; Node() { next =...
4379 просмотров
schedule 14.11.2023

Отладка ошибок malloc в Ruby на Mac OS X
Я пытаюсь отладить ошибки, подобные следующим, которые я получаю при запуске некоторых скриптов Ruby: ruby(47333,0x7fff72aee960) malloc: *** error for object 0x7f98b6a6e3f0: pointer being freed was not allocated *** set a breakpoint in...
1895 просмотров
schedule 21.07.2022

Действительно ли нам нужно использовать функцию free(), когда мы используем malloc()? Чем же тогда она отличается от автоматической переменной?
ОС просто восстановит его (после выхода из программы), верно? Так какая же от этого польза, кроме хорошего стиля программирования? Или я что-то недопонимаю? Что отличает его от «автоматического» распределения, поскольку оба они могут быть изменены...
3784 просмотров

ProC компилируется на 10g и работает на 11g
Я скомпилировал источник pro*c с oracle 10g и запустил приложение, в котором установлен 11g. Приложение дает дамп ядра. Я получаю следующую трассировку от отладки DBX: (dbx) where current thread: t@1 [1] _smalloc(0x30, 0x0, 0x1dad44,...
610 просмотров
schedule 01.05.2024

Код IImebra в приложении C++ с Qt выдает malloc: *** ошибка для объекта xxxxxx: освобождаемый указатель не был выделен
Я пытаюсь преобразовать файл dicom .dcm в .jpeg , используя Imebra в приложении C++, используя Qt Creator в качестве среды разработки. Я скачал Imebra и смог успешно запустить пример проекта Qt для преобразования Dicom2Jpeg. Но когда я...
751 просмотров
schedule 01.10.2022

Использование malloc со структурами в c
Итак, я пытаюсь добавить malloc в приложение телефонной книги, которое я создал, но, поскольку я новичок в C, я не уверен, что то, что я делаю, правильно. Я столкнулся с небольшой проблемой, но я прочитал книгу для начинающих, которая у меня есть, и...
32087 просмотров
schedule 09.05.2024

Выделение памяти под матрицу на C, почему я не могу потом получить доступ к матрице?
Я использую malloc для выделения памяти для матрицы, но впоследствии любой доступ к матрице для установки элемента, например, приводит к ошибке сегментации. Вот что я делаю прямо сейчас: int **matrix = malloc(rows_number * columns_number *...
2010 просмотров
schedule 21.11.2023

Освобождение указателя на структуру указателей
У меня возникла ситуация, которую я никак не могу решить. Это вызывает медленную, но со временем катастрофическую утечку памяти. Я заметил, что, хотя я освобождаю структуру указателей (которую я передал функции), я забыл освободить указатели внутри...
394 просмотров

Прерывание указателя strcpy char
У меня есть этот код: char **arr; char* line=NULL; int i=0; size_t len=0; ssize_t read1; fp=fopen("list.txt","r"); if(fp==NULL) exit(EXIT_FAILURE);...
392 просмотров
schedule 11.09.2022

Параметр размера функции malloc в C
Я читаю в книге, что функция malloc в C принимает количество «фрагментов» памяти, которые вы хотите выделить в качестве параметра, и определяет, сколько байтов эти фрагменты основаны на том, на что вы приводите значение, возвращаемое malloc....
2673 просмотров
schedule 11.04.2024