Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Zademonstruj u ż ycie przez program prywatnego obszaru pami ę ci dzielonej.
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/ipc.h>
- #include <sys/types.h>
- #include <sys/shm.h>
- #include <string.h>
- #define SEGMENT_SIZE 128
- #define MESSAGE_TO_STORE "Jakas wiadomosc"
- int main(void)
- {
- int shmid;
- char *shared_memory;
- if((shmid = shmget(IPC_PRIVATE, SEGMENT_SIZE, 0775 | IPC_CREAT | IPC_EXCL)) == -1){
- perror("shmget");
- return EXIT_FAILURE;
- }
- if((shared_memory = shmat(shmid, NULL, 0)) == (char *)-1){
- perror("shmat");
- return EXIT_FAILURE;
- }
- strncpy(shared_memory, MESSAGE_TO_STORE, strlen(MESSAGE_TO_STORE));
- printf("Napis w pamieci dzielonej: %s\n", shared_memory);
- if(shmdt(shared_memory) == -1){
- perror("shmdt");
- return EXIT_FAILURE;
- }
- if(shmctl(shmid, 0, IPC_RMID) == -1){
- perror("shmctl");
- return EXIT_FAILURE;
- }
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement