[英]free() hangs when passed a valid pointer created by posix_memalign() - gcc and C++11
[英]Combination of mmap() and memalign() in Linux/GCC?
我需要在我的 C++ 程序中分配一些內存塊,有兩個要求。 首先分配的地址需要在塊大小上對齊,其次需要分配低於 4GB 的虛擬地址空間。
memalign()
幫助我解決第一個要求,而mmap()
幫助我解決第二個要求,因為我可以將MAP_32BIT
標志作為參數傳遞。 但是有可能以某種方式將它們結合在一個簡單的解決方案中嗎? (當然,從技術上講,我可以將mmap()
與我想要的任何地址一起使用,但該解決方案可能不是很便攜)。
只需 mmap 一個塊(首先四舍五入到下一個冪)兩倍於您需要的塊,然后 munmap 不需要的塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.