Я недавно начал играть с mmap и сегментами памяти. Я хочу вызвать mmap изнутри функции, но у меня есть проблемы, чтобы заставить его работать. Я могу вызвать mmap из main, и это работает. Я знаю, что речь идет об указателях, но мне кажется, что мне не хватает некоторых частей.
main:
int main(){
char test[100];
memset(test, 0xCC, 100);
get_space(NULL,sizeof(test), PROT_READ|PROT_WRITE, (void**)&test);
return 0;
}
Функция get_space:
void get_space(void **vaddr, unsigned int size, unsigned int flags, void **source){
void *destination;
destination = mmap(vaddr,size,PROT_READ|PROT_WRITE,MAP_PRIVATE,-1,0);
memcpy(destination, source, size);
//...
}
Я нашел несколько тем об этом хорошая документация по mmap, но все равно не получилось. Ваша помощь будет оценена. :)