::: 강좌/소스/문서 :::

강좌/소스/문서 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-03-17 02:42:04, Hit : 9798, Vote : 1566
 [System V IPC] shmget() function - 공유메모리

/***************************************************
*   Creat  : 2001. 02. 10  (programed by Cori-Young)
*   Site: http://www.byoneself.co.kr
*   Update :
***************************************************/

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>

extern void    exit();
extern void    perror();

main()
{

        key_t  key;
        int  shmflg;
        int  shmid;
        int  size;
        
        
        (void) fprintf(stderr, "All numeric input is expected to follow C conventions:n");
        (void) fprintf(stderr, "t0x... is interpreted as hexadecimal,n");
        (void) fprintf(stderr, "t0... is interpreted as octal,n");
        (void) fprintf(stderr, "totherwise, decimal.n");
        
        /* Get the key. */
        (void) fprintf(stderr, "IPC_PRIVATE == %#lxn", IPC_PRIVATE);
        (void) fprintf(stderr, "Enter key: ");
        (void) scanf("%li", &key);
        
        /* Get the size of the segment. */
         (void) fprintf(stderr, "Enter size: ");
         (void) scanf("%i", &size);
        
        
         /* Get the shmflg value. */
         (void) fprintf(stderr, "Expected flags for the shmflg argument are:n");
         (void) fprintf(stderr, "tIPC_CREAT = t%#8.8on",IPC_CREAT);
         (void) fprintf(stderr, "tIPC_EXCL = t%#8.8on", IPC_EXCL);
         (void) fprintf(stderr, "towner read =t%#8.8on", 0400);
         (void) fprintf(stderr, "towner write =t%#8.8on", 0200);
         (void) fprintf(stderr, "tgroup read =t%#8.8on", 040);
         (void) fprintf(stderr, "tgroup write =t%#8.8on", 020);
         (void) fprintf(stderr, "tother read =t%#8.8on", 04);
         (void) fprintf(stderr, "tother write =t%#8.8on", 02);
         (void) fprintf(stderr, "Enter shmflg: ");
         (void) scanf("%i", &shmflg);
        
         /* Make the call and report the results. */
         (void) fprintf(stderr, "shmget: Calling shmget(%#lx, %d, %#o)n", key, size, shmflg);
        
         if ((shmid = shmget (key, size, shmflg)) == -1) {
        
                       perror("shmget: shmget failed");
        
                      exit(1);
        
         }
        
         else {
        
                      (void) fprintf(stderr, "shmget: shmget returned %dn", shmid);
        
                      exit(0);
        
         }
        
}





62   [Unix/Linux] [강좌] 인텔 센트리노 무선랜 카드: ndiswrapper  김영대 2004/06/27 11085 2004
61   [Unix/Linux] [소스] top for System V Release 4, Intel or Sparc CPU  김영대 2004/02/20 7405 1190
60   [Unix/Linux] [소스] top for SunOS 5.x (Solaris 2.x)  김영대 2004/02/20 9140 1229
59   [Unix/Linux] [소스] String 해쉬(hash) 함수  김영대 2003/07/29 6394 1435
58   [Unix/Linux] [강좌] 웹로그분석을 위한 Webalizer + GDlib + PNGlib + Zlib 설치  김영대 2003/05/04 7242 1411
57   [Unix/Linux] [강좌] Apache + MySQL + PHP4 + Zend Optimizer 설치  김영대 2003/04/15 6737 1369
56   [Unix/Linux] [System V IPC] shmop() function - 공유메모리  김영대 2003/03/17 5826 1439
55   [Unix/Linux] [System V IPC] shmctl() function - 공유메모리  김영대 2003/03/17 7508 1575
  [Unix/Linux] [System V IPC] shmget() function - 공유메모리  김영대 2003/03/17 9798 1566
53   [Unix/Linux] [System V IPC] semop() function - 세마포어  김영대 2003/03/17 5034 1330
52   [Unix/Linux] [System V IPC] semctl() function - 세마포어  김영대 2003/03/17 4737 1298
51   [Unix/Linux] [System V IPC] semget() function - 세마포어  김영대 2003/03/17 5810 1554
50   [Unix/Linux] [System V IPC] msgget() function - 메세지큐  김영대 2003/03/17 5716 1471
49   [Unix/Linux] [System V IPC] msgctl() function - 메세지큐  김영대 2003/03/17 5810 1362
48   [Unix/Linux] [System V IPC] msgrcv() function - 메세지큐  김영대 2003/03/17 6235 1603
47   [Unix/Linux] [System V IPC] msgsnd() function - 메세지큐  김영대 2003/03/17 7562 1536
46   [Unix/Linux] [POSIX IPC] 생산자/소비자 - 세마포어  김영대 2003/03/17 7194 1513
45   [Unix/Linux] [POSIX IPC] mq_receive() function - 메세지큐  김영대 2003/03/17 6717 1649
44   [Unix/Linux] [POSIX IPC] mq_send() function - 메세지큐  김영대 2003/03/17 7872 1568
43   [Unix/Linux] [Thread] pthread_cond() function  김영대 2003/03/17 5949 1590

1 [2][3][4]
 

Copyright 1999-2018 Zeroboard / skin by zero