Usando shared memory 2
Publicado por Perfil removido 23/11/2004
[ Hits: 6.604 ]
Esse é o segundo programa da série usando shared memory. O primeiro programa criava uma área e esse irá usá-la, mostrando como é fácil trocar informações entre programas usando memória compartilhada, ou shared memory. Obs.: Corrijam um erro no primeiro programa: a variável char *s está declarada como global e como local. Ela deveria estar apenas como global, apaguem ela da função main.
#include <stdio.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <signal.h> main() {    int shmid;    struct shmid_ds buf;    struct sigaction sig;    char *s;    shmid = shmget(0xFAB10, 100, 0600);    if ( shmid == -1 )    {      printf("can't open shared memory\n");      perror("shmget");      exit(1);    }    if ( shmctl(shmid, IPC_STAT, &buf) != 0 )    {       printf("can't stat shared memory\n");       perror("shmctl");       exit(2);    }    s = (char *) shmat(shmid, 0, 0);    if ( s == (void *)-1 )    {       printf("can't attach shared memory\n");       perror("shmat");       exit(3);    }    printf("%s\n", s);    strcpy(s, "hello world");    kill(buf.shm_cpid, SIGUSR1);    kill(buf.shm_cpid, SIGTERM);    shmdt(s);    exit(0); }
Algoritmo de Fatoração de Fermat (FFA) em C
Pilhas C/C++ - Analisador de expressões simples
Nenhum coment�rio foi encontrado.
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como gerar um podcast a partir de um livro em PDF
Organizando seus PDF com o Zotero
Erro no realm join [Resolvido]
Um programa para baixar vídeos: Parabolic
Como Definir o Painel Principal em Múltiplos Monitores no Linux Mint
Sempre que vou baixar algum pacote acontece o erro dpkg (2)
BlueMail não abre no Kubuntu 25.04 (6)
Não consigo montar meu cartão SD (5)
aplicativos criados com webapp-manager não aparecem no menu do xfce (1)