**sbrk** - это базовый системный вызов управления памятью, используемый в Unix и Unix-подобных операционных системах для управления объемом памяти, выделенной для сегмента данных [требуется пояснение] процесса.
2 ответа

C-код для реализации моей собственной функции malloc

У меня проблема с моим C-кодом. Я должен сделать функцию malloc. Прежде всего, это мой код: #include <stdio.h> #include <unistd.h> #include "my-malloc.h" #define MOST_RESTRICTING_TYPE double // Pour s’aligner sur des frontieres multiples…
26 май '15 в 12:51
2 ответа

Что на самом деле означает "malloc_trim(0)"?

Страница руководства рассказала мне так много, и благодаря ей я знаю множество базовых знаний по управлению памятью в "glibc". Но я все еще запутался. Означает ли " malloc_trim (0) " (обратите внимание, ноль в качестве параметра) значение (1.) вся п…
20 мар '13 в 16:46
1 ответ

Программа зависает только при первом запуске?

Я пытаюсь отладить низкоуровневую программу на C в GDB. Рассматриваемая программа предназначена для использования в качестве оболочки, запускающей другой процесс и контролирующей / мешающей использованию его памяти. Когда я загружаю программу в GDB,…
30 сен '16 в 17:31
2 ответа

Как освободить память, полученную с помощью sbrk()?

У меня есть пользовательская функция распределителя, которая использует sbrk() для получения памяти. Как мне освободить эту память, когда она больше не нужна? Есть ли функция, эквивалентная free() для malloc()? или я должен использовать brk (), чтоб…
12 янв '10 в 20:09
1 ответ

Почему возвращаемое значение первого sbrk отличается от последующих вызовов?

Я пытаюсь понять, как работает память в C, поэтому экспериментирую с sbrk функционировать сейчас. я знаю это sbrk(0) должен вернуть текущий разрыв программы, то есть конец сегмента данных. Я попытался позвонить sbrk(0) несколько раз, и по какой-то п…
27 янв '19 в 22:42
1 ответ

Нужен совет по реализации malloc и free в C

Для школы мне нужно написать программу, использующую мою собственную реализацию malloc и бесплатную. Мне нужно иметь возможность сообщать обо всех фрагментах памяти в моей "куче", независимо от того, выделена она или нет. Я чувствую, что написал хор…
11 окт '18 в 23:35
5 ответов

Как работает sbrk() в C++?

Где я могу прочитать о sbrk() в некоторых деталях? Как это работает? В каких ситуациях я хотел бы использовать sbrk() вместо громоздких malloc() а также new()? Кстати, что расширение для sbrk()?
16 янв '10 в 07:16
2 ответа

В чем разница между передачей sbrk() intptr_t против int в C

Кажется, что это не влияет на функциональность sbrk, но в документации sbrk() говорится, что для этого требуется параметр intptr_t. Это работает (или, по крайней мере, кажется, работает) при передаче типа int в качестве параметра. Это в обычном C.
20 мар '11 в 23:13
1 ответ

mmap vs sbrk, сравнение производительности

Какой из этих звонков в среднем быстрее? Я слышал, что mmap быстрее для небольших распределений, но я не слышал ни того, ни другого. Любая информация о производительности для них была бы хороша.
01 апр '11 в 18:53
2 ответа

Как найти текущее место разрыва программы

Я попытался добавить это внутри функции системного вызова brk: void *addr = sbrk(0); printk("current-add-is-%p-\n", addr); Но он вернул ошибку во время компиляции ядра, что неявное объявление функции sbrk. И я не смог найти где определяется sbrk!! В…
07 мар '16 в 16:38
0 ответов

Что значит (char*)-1?

Мне интересно, что делает: (char*)-1 значит и что он оценивает?Это возвращаемое значение из sbrk() в случае ошибки.
26 ноя '17 в 08:57
1 ответ

Похоже, что Malloc требует слишком много памяти

У меня есть приложение STM32F0, использующее компилятор yagarto GCC. Я реализовал _sbrk newlib_stubs.c. Проблема, с которой я сталкиваюсь, заключается в том, что я вызываю malloc(256) в свою очередь malloc при вызове _sbrk и запросе 4K памяти. В мое…
03 дек '12 в 22:39
0 ответов

Ошибка компоновщика на коде руки неона

Я работаю над неоновым кодом ARM с использованием встроенных функций. Когда я компилирую файл, я продолжаю получать следующие ошибки: c: / программные файлы (x86)/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-ea bi/4.3.3/../../../../arm-non…
12 июн '12 в 06:09
1 ответ

Каковы требования aligment для sys_brk

Я использую sys_brk syscall для динамического выделения памяти в куче. Я заметил, что при получении текущего местоположения разрыва я обычно получаю значение, подобное этому: mov rax, 0x0C mov rdi, 0x00 syscall результаты в rax 0x401000 Значение обы…
19 фев '18 в 17:21
4 ответа

Как sbrk/brk реализован в Linux?

Я думал о том, как ядро ​​Linux реализует системные вызовы, и мне было интересно, может ли кто-нибудь дать мне общее представление о том, как работает sbrk / brk? Я просмотрел код ядра, но его так много, и я его не понимаю. Я надеялся на резюме от к…
15 июн '09 в 17:50
0 ответов

Arduino Due в студии Atmel 6.1. без визумикро

Я предпочитаю учебник из http://www.engblaze.com/tutorial-using-atmel-studio-6-with-arduino-projects/ Visualmikro, потому что мне нравится иметь возможность переходить в функции arduino и изменять их без необходимости установить любой вид плагина. Я…
17 окт '13 в 14:38
2 ответа

Несколько вызовов malloc для внутреннего вызова mmap только один раз

Когда я пытаюсь выполнить приведенный ниже код, я не могу четко проанализировать внутренние вызовы malloc api. Что мне непонятно, так это системный вызов, mmap вызывается только один раз для 2 или более вызовов malloc. Если я также назначаю более 40…
15 июн '16 в 08:37
1 ответ

Расщепление sbrk на 2

Чтобы перекодировать функцию malloc, я делаю sbrk(stack) где: void *malloc(size_t size) { stack = 0; while (stack < size) stack += 4096; } Я всегда использую malloc больше, чем мне нужно, поэтому я хочу взять часть этой выделенной области размера…
01 фев '17 в 13:16
1 ответ

Что обозначают brk и sbrk?

Пока я знаю, что называют системной Unix brk и функция sbrk делаю, я понятия не имею, что они стоят. Кто-нибудь может просветить меня?
28 июл '11 в 22:43
1 ответ

Мнения и предложения, касающиеся моего подхода к первичной подгонке функции malloc

Я пишу функцию malloc для назначения в колледже. Вот основная схема моей идеи: 1) Определить структуру узла с указателями на предыдущий узел, следующий узел, а также символ для размера и вакансии. Каждый регион в куче будет содержать скрытый узел с …
06 июл '12 в 04:22