История изменений
Исправление Gary, (текущая версия) :
Вот кстати посмотрел через pagemon, malloc_trim «пробивает дырку»
#include <iostream>
#include <vector>
#include <malloc.h>
#include <sys/types.h>
#include <unistd.h>
int main(void) {
std::cout << "My pid: " << getpid() << std::flush;
int sz = 0x2ffff;
std::vector<char*> addr;
addr.reserve(sz);
for (int i = 0; i < sz; i++)
{
addr.push_back(new char[32]);
}
system("read");
for (int i = 1; i < sz - 1; i++)
{
delete[](addr.at(i));
}
system("read");
malloc_trim(0);
system("read");
}
Исходная версия Gary, :
Вот кстати посмотрел через pagemon, malloc_trim «пробивает дырку»
#include <iostream>
#include <vector>
#include <malloc.h>
#include <sys/types.h>
#include <unistd.h>
int main(void) {
std::cout << "My pid: " << getpid() << std::flush;
int sz = 0x2ffff;
std::vector<char*> addr;
addr.reserve(sz);
for (int i = 0; i < sz; i++)
{
addr.push_back(new char[32]);
}
system("read");
for (int i = 1; i < sz - 1; i++)
{
delete[](addr.at(i));
}
system("read");
malloc_trim(0);
system("read");
}