当我针对 valgrind 运行我的程序时,我遇到了以下警告。
Warning: set address range perms: large range [0x4d59d040, 0x6159d040) (undefined)
Warning: set address range perms: large range [0x194f7030, 0x2d4f7050) (noaccess)
Warning: set address range perms: large range [0x3959d030, 0x6159d050) (noaccess)
经过一番谷歌搜索后,我在这里发现它是一个Diagnostic message, mostly for benefit of the Valgrind developers, to do with memory permissions
,这并没有告诉我太多。
我的程序确实在堆上分配了大量内存。(经过一大堆realloc
's 可以达到 2-3 GB 的内存)
但是,尽管没有任何分配失败,但还是出现了警告。
所以,我想知道这条消息的真正含义是什么?我没有某种内存权限?(但分配成功)