Usando shared memory 2
Publicado por Perfil removido 23/11/2004
[ Hits: 6.764 ]
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);
}
Funções com número variável de argumentos
Ordenar um lista estática sequencial básica (bubblesort)
Agenda feita em C usando árvore binária
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Portal de autenticação em loop (0)
Alguém já testou o novo COSMIC Desktop? O que achou? (2)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (0)









