memory-management 相关问题

动态分配和释放部分物理内存的过程,以便在请求者之间尽可能公平并且没有饥饿的情况下响应程序请求。

如何在Assembly(x64 / Linux)中使用动态分配的内存?

我正在尝试构建一种玩具语言编译器(可为NASM生成程序集),到目前为止还不错,但是我真的陷入了动态内存分配的话题。这是装配体上唯一的零件。...

回答 1 投票 0

如何在Assembly(x64 / Linux)中使用动态分配的内存?

我正在尝试构建一种玩具语言编译器(为nasm生成程序集),到目前为止还不错,但是我真的陷入了动态内存分配的话题。这是装配体上唯一的零件。...

回答 1 投票 0

当我清除一个结构向量时会发生什么?

这里的内存管理问题。我得到了一个结构Test1的向量,该结构包含一个映射。在我的程序中,函数将使用本地创建的地图在本地创建Test1。考虑...

回答 3 投票 0

我可以重新分配未分配的指针吗?

通常,realloc()用于重新分配先前分配的指针:int * DynamicArray = malloc(sizeof(int)* SomeArbitraryValue); //一些废话DynamicArray = realloc(DynamicArray,sizeof(int)* ...

回答 1 投票 0

在vm_fault()中预取,Linux驱动程序

我正在实现一个简单的设备驱动程序。使用此驱动程序的程序从用户处接收是使用按需分页还是预取(仅获取下一页)的参数。但是当用户...

回答 1 投票 1

指针更改后的堆栈内存

说我这样做:const char * myvar = NULL;然后,以后* myval =“ hello”;然后再次:* myval =“世界”;我想了解存储“ hello”的内存会发生什么情况?我了解...

回答 2 投票 0

MemoryPool 和ArrayPool ]之间的差异 据我所知,MemoryPool和ArrayPool之间有什么区别,它们都做相同的事情(放出缓冲区以减少垃圾收集压力)。 在读取调用中是否存在首选使用NetworkStream或NetworkStream的池? 据我所知,MemoryPool和ArrayPool有什么区别,它们都做相同的事情(放出缓冲区以减少垃圾收集压力)。是否有应为...的游泳池? WebSocket类出租 Arrays 。换句话说,WebSocket方法返回ArrayPool<T>。 Rent属性返回T[]的默认实现,Shared以存储桶的ArrayPool<T>数组和本地每核“堆栈”的组合的形式缓存后备数组。针对TlsOverPerCoreLockedStacksArrayPool和ThreadStatic情况进行了优化。从char方法返回的byte将基础数组存储在ConfigurableArrayPool数组中(每个数组都有自己的数组)。另外,您可以编写自己的实现。 另一方面,Create更为通用,因为它最终处理Buckets对象。 MemoryPool<T>方法提供Memory<T>实现,这些实现负责[[owning Rent。内存所有者可以由各种来源支持,数组是其中之一。 IMemoryOwner<T>单例实际上是Memory<T>,您猜对了MemoryPool<T>.Shared。但是内存池可能由不同的来源支持,例如由ArrayMemoryPool<T>指向的非托管内存/内存。 使用哪种取决于您的要求: 如果您正在使用的API需要ArrayPool<T>.Shared,或者您只是想要一个无分配数组,那么您想使用SafeHandle。 如果您正在使用T[]实例,那么您想使用ArrayPool<T> [如果您使用的API可以采用任何一种,那么使用一个池而不是另一个池不一定有好处。与Memory<T>相比,API本身在原始MemoryPool<T>上的工作效果可能更好(反之亦然),但是API应该只在乎内存本身,而不知道它来自哪个池。

回答 1 投票 2

自由列表分配器头元数据

我正在尝试实现一个空闲列表内存分配器,并且正在为标头元数据保留什么而苦苦挣扎。我看到大多数示例和实现都只是保持有效载荷的大小...

回答 1 投票 1

自动vs动态内存分配:要考虑什么? [关闭]

在C语言中,我们可以自动或动态分配内存:size_t foo = 128; char str1 [64]; //自动char str2 [foo] //自动(可变长度,C99)char * str3 = malloc(...

回答 2 投票 4

关于查询内存区域的问题(Windows)

我编写了一个程序,该程序枚举具有以下属性的进程的所有内存区域:MEM_COMMIT和PAGE_READWRITE,并在程序末尾打印...的总大小。

回答 1 投票 0

在C ++中释放指针两次或更多次会发生什么?

int main(){Employee * e = new Employee();删除e;删除e; ...删除e;返回0; }

回答 7 投票 23

引用计数智能指针的引用计数如何工作?

换句话说,实现如何跟踪计数?是否维护了一个类似于地图的对象,所有shared_ptr实例都可以访问该实例,这些实例的键是指针的地址,并且...

回答 7 投票 29

在调用viewDidDisappear后修改视图是否是一种不好的做法?

我有UITabBarController,并且在其中一个UIViewController中,我使用Timer每5秒滚动一次UICollectionView。这是我的简短代码:重写func viewDidLoad(){super ....

回答 1 投票 0

在数组引用中放置链接列表的内容

我的指令是... //描述:将列表的有效内容放在// populateMeWithElements引用的数组中。 //返回以前的元素数量...

回答 1 投票 0

自定义分配器和内存对齐

我正在尝试根据此处的要求实现自定义分配器以与std容器一起使用:https://en.cppreference.com/w/cpp/named_req/Allocator我目前正在尝试实现线性...

回答 2 投票 0

我认为我的valgrind安装已损坏

使用此简单代码1 #include 2 #include 3 int main(){4 int n = 3; 5 printf(“%d \ n”,n); 6返回0; 7}我收到这个泄漏,我不知道...

回答 1 投票 0

JavaScript如何在调用堆栈中存储变量

调用栈用于在调用和返回函数时推入和弹出函数,但是我真正想了解的是,只要脚本将变量放在调用栈的顶部……

回答 1 投票 0

什么是学习JavaScript内存管理的最佳方法

我正在尝试了解JavaScript如何执行所有与内存相关的工作,但我不知道内存在低级别如何工作。所以开始学习自动内存管理是个好主意吗...

回答 1 投票 0

C ++内存分配器

我试图弄清楚如何制作一个链接到单个字节数组的链表。因此,我放入字节数组的每个元素都可以是enqued()和dequeued()。但是,我需要弄清楚...

回答 2 投票 -1

这是程序或计算机的内存泄漏吗?我该如何解决?

我正在练习编程和内存分配。当我在不使用valgrind的情况下执行程序时,该程序将运行并执行所需的操作。然后我用valgrind执行,看是否有内存泄漏...。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.