Usando shared memory 2
Publicado por Fabio Junior Sabai 23/11/2004
[ Hits: 6.400 ]
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); }
Script MakePach para correção de platarforma 32 bits para 64
Tipos de Dados Abstrato - TDA - Vetor
Árvore B com Arquivos (inserção e pesquisa)
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Altera pacote .pkg.tar do Arch Linux (19)
Navegadores com linhas na tela (6)
Pi Network.... alguém minera? (5)