KarboXXX / deputados-c

Conversa entre lula e bolsonaro que pode ser observada iniciando um server como intermédio. Feito em C, usando Shared Memory IPC (Inter-Process Communication)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deputados em C

Conversa entre lula e bolsonaro que pode ser observada iniciando um server como intermédio. Feito em C, usando Shared Memory IPC (Inter-Process Communication)

O jeito que essa brincadeirinha funciona na real é bem simples, primeiro eu inicializo as variaveis que eu vou precisar usar em qualquer escopo, por isso eu inicializo elas no escopo global. Daí eu também declaro o struct que vai servir como o esqueleto da shared memory, e vai manter meus dados organizados dentro dessa memória compartilhada, me impedindo também de acessar algo fora dessa memória virtual, e também facilitando o cálculo do tamanho dessa shared memory. Dentro do struct eu uso unsigned char stat pro status da conversa, porquê unsigned char usa só 1 bytes, diferente do int (numero inteiro) que além de poder ser negativo, não usando unsigned, mas mesmo assim, int usa 4 bytes, espaço desnecessário. Aí no int main eu pergunto pro cliente se ele quer ser (nesse processo) o lula, o server, ou o bolsonaro, ai em seguida o programa calcula a key da shared memory, inicia a shared memory, e prende nosso processo à ela, de resto, é bem simples, a mensagem fica guardada em uma só variavel na nossa shared memory, o status só serve pra identificar se a mensagem foi vista (0) se foi enviada pelo lula (2) ou pelo pocketnaro (1), e nossa mensagem mais recente fica sempre na shared memory, e sim, ela some logo em seguida da próxima, ela nao fica no disco.

Se quiser ver essa conversa, inicie o programa 3 vezes sendo cada personagem idependente e ai vc vai poder ver essa brincadeira ai. Quando acabar nao esquece de excluir a shared memory pool, pra nao ocupar RAM atoa.

About

Conversa entre lula e bolsonaro que pode ser observada iniciando um server como intermédio. Feito em C, usando Shared Memory IPC (Inter-Process Communication)


Languages

Language:C 100.0%