Ubuntu 10.04 LTS (2.6.32-38-родовой) i686 - Intel i7 - 16GBМожем ли мы установить одинаковый размер с размером, который мы можем malloc?
я получил ошибку map failed
до memset
определенного объема памяти. Есть ли у вас какие-либо идеи? Дополнительная информация: я мог бы malloc
такого же размера. Вот мой код.
//Here I could malloc successfully
pdev->frame_buffer = (uint16_t *)malloc(3840000);
//Then, I got map_failed error here and message from compiler is "Invalid argument"
if((pdev->frame_buffer = (uint16_t *)mmap(0, 3840000, PROT_READ | PROT_WRITE, MAP_SHARED, fb, 0)) == MAP_FAILED){
perror("Error: cannot mmap frame buffer");
exit(1);
}
Если I mmap
меньше размера я попытался выше, как mmap(0, 100,...)
, то он возвращает правильный адрес. Я не уверен, что эта проблема из-за размера.
У вас есть догадки, почему это произошло?