Вопросы с тегом «memory-management»

276
Как работают malloc () и free ()?

Я хочу знать, как mallocи freeработать. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout << p;...

276
Как бесплатно использовать Inode?

У меня есть диск, где использование inode составляет 100% (с помощью df -iкоманды). Однако после существенного удаления файлов использование остается на 100%. Какой правильный способ сделать это тогда? Как это возможно, что дисковод с меньшим использованием дискового пространства может иметь более...

266
Общая память, используемая процессом Python?

Есть ли способ для программы Python определить, сколько памяти она использует в настоящее время? Я видел дискуссии об использовании памяти для одного объекта, но мне нужно общее использование памяти для процесса, чтобы я мог определить, когда необходимо начать отбрасывать кэшированные...

240
В чем разница между слабой ссылкой и неподтвержденной ссылкой?

Свифт имеет: Сильные Ссылки Слабые ссылки Неизвестные ссылки Чем неподходящая ссылка отличается от слабой ссылки? Когда безопасно использовать ссылку без ссылки? Являются ли неизвестные ссылки угрозой безопасности, такой как висячие указатели в C / C...

232
Можно ли удалить это?

Разрешено ли, delete this;если оператор delete является последним оператором, который будет выполнен в этом экземпляре класса? Конечно, я уверен, что объект, представленный this-pointer, newсоздан. Я думаю о чем-то вроде этого: void SomeModule::doStuff() { // in the controller, "this" object of...

230
В чем разница между библиотеками .so, .la и .a?

Я знаю, что .soфайл является динамической библиотекой (многие потоки могут совместно использовать такие библиотеки, поэтому нет необходимости иметь более одной копии в памяти). Но в чем разница между .aи .la? Это все статические библиотеки? Если динамические библиотеки имеют большие преимущества по...

214
@property сохранить, назначить, скопировать, неатомный в Objective-C

Как кто-то, кто плохо знаком с Objective-C, может ли кто-нибудь дать мне обзор сохранения, назначения, копирования и любых других, которые мне не хватает, которые следуют директиве @property? Что они делают и почему я хочу использовать один поверх...

191
Почему @autoreleasepool все еще нужен для ARC?

По большей части с ARC (Автоматический подсчет ссылок) нам вообще не нужно думать об управлении памятью с объектами Objective-C. Больше не разрешено создавать NSAutoreleasePools, однако есть новый синтаксис: @autoreleasepool { … } Мой вопрос: зачем мне это нужно, когда я не должен вручную выпускать...

187
Установка объектов в ноль / ничего после использования в .NET

Должны ли вы установить все объекты null( Nothingв VB.NET), как только закончите с ними? Я понимаю, что в .NET важно избавляться от любых экземпляров объектов, которые реализуют IDisposableинтерфейс, чтобы высвободить некоторые ресурсы, хотя объект все еще может быть чем-то после его удаления...

183
Что делает системный вызов brk ()?

Согласно руководству для программистов Linux: brk () и sbrk () изменяют место остановки программы, которое определяет конец сегмента данных процесса. Что означает сегмент данных здесь? Это просто сегмент данных или данные, BSS и куча вместе взятые? Согласно вики: Иногда данные, BSS и области кучи...

180
Утечки памяти Python [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто в прошлом году . Улучшить этот вопрос У меня есть долго...

176
Неубедительные примеры пользовательских распределителей C ++?

Какие есть веские причины отказаться std::allocatorот нестандартного решения? Сталкивались ли вы с ситуациями, когда это было абсолютно необходимо для корректности, производительности, масштабируемости и т. Д.? Какие-нибудь действительно умные примеры? Пользовательские распределители всегда были...

176
Как инициализировать память новым оператором в C ++?

Я только начинаю изучать C ++ и хочу приобрести хорошие привычки. Если я только что выделил массив типа intс newоператором, как я могу инициализировать их все в 0, не просматривая их все самостоятельно? Должен ли я просто использовать memset? Есть ли «С ++» способ сделать...

167
Сохранить цикл на «себя» с блоками

Боюсь, этот вопрос довольно простой, но я думаю, что он актуален для многих программистов Objective-C, которые разбираются в блоках. Я слышал, что поскольку блоки захватывают локальные переменные, на которые они ссылаются как constкопии, использование selfвнутри блока может привести к циклу...

165
Вызывает ли удаление указатель на подкласс деструктор базового класса?

У меня есть, class Aкоторый использует выделение кучи памяти для одного из своих полей. Класс A создается и сохраняется как поле указателя в другом классе ( class B. Когда я закончу с объектом класса B, я вызываю delete, который, я полагаю, вызывает деструктор ... Но вызывает ли это и деструктор...

165
Получить использование ЦП и памяти одного процесса в Linux?

Я хочу получить использование процессора и памяти для одного процесса в Linux - я знаю PID. Надеюсь, я могу получить его каждую секунду и записать его в CSV, используя команду «watch». Какую команду я могу использовать, чтобы получить эту информацию из командной строки...

160
Как проверить, использует ли Pytorch графический процессор?

Я хотел бы знать, pytorchиспользует ли мой графический процессор. Можно определить, nvidia-smiесть ли какие-либо действия с графическим процессором во время процесса, но я хочу что-то записать в pythonсценарии. Есть ли способ сделать...

159
Что на самом деле означает «память, выделенная во время компиляции»?

В языках программирования, таких как C и C ++, люди часто ссылаются на статическое и динамическое распределение памяти. Я понимаю концепцию, но фраза «Вся память была выделена (зарезервирована) во время компиляции» всегда смущает меня. Компиляция, насколько я понимаю, преобразует код высокого...