Boa tarde, tenho uma duvida:
Tenciono passar um array para memoria partilhada. Esta memoria é criada atraves da função shm_open.
Como vou passar este array?é necessario alocar memoria?
Tens uma função que se chama, mmap, que "coloca" por assim dizer, um valor para a memória, ou seja, estabelece uma ligação entre um processo e a memória partilhada.
Código:
//The mmap() function establishes a mapping between a process' address space and a file or shared memory object.
int *pointer = mmap(0, sizeof(int), PROT_READ | PROT_WRITE, MAP_SHARED, mem, 0);
Em que mem é o tamanho do segmento de memoria partilhada MAXIMA que criaste anteriormente.
Obrigado pela tua resposta!
Eu sei disso, tava a utilizar bem todas as funções relativas à criação da memoriaJá tinha feito com inteiros e funcionava perfeitamente. O problema tava mm em passar o array, mas ja esta resolvido
Ha coisas do catano!