Arrays e memoria partilhada

nasic

Power Member
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?

Obrigado
 
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.

Dá uma olhada em: Link

PS: Estás na FCUL?
 
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:P
Ha coisas do catano!

Tou na fcul sim. tas a fazer SO tb?
 
Back
Topo