1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Arrays e memoria partilhada

Discussão em 'Programação' iniciada por nasic, 15 de Novembro de 2007. (Respostas: 3; Visualizações: 862)

  1. nasic

    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
     
  2. MadOnion

    MadOnion Folding Member

    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?
     
  3. nasic

    nasic Power Member

    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?
     
  4. MadOnion

    MadOnion Folding Member

    Também estou a fazer SO.
    Só falta a versão2, boa sorte.
     

Partilhar esta Página