웹마스터 팁
page_full_width">
공유 메모리 제어에 관한 함수 정리 (공유메모리)
2004.08.16 17:01
공유 메모리 제어에 관한 함수 정리
1) 공유 메모리 생성
int shm_attach ( int key [, int memsize [, int perm]])
공유 메모리 세그먼트를 열거나 생성한다.
ex) shm_attach($chat, 1024, 0777);
매개변수 설명 (공유메모리의 키 값, 공유메모리의 사이즈(sysvshm.init_mem), 퍼미션 임의값 0666:8진수)
2) 공유 메모리 종료
int shm_detach ( int shm_identifier)
공유 메모리 세그먼트 접속을 종료.
Unix 시스템에서의 공유메모리는 종료 후에도 여전히 존재한다. :(
3) 공유 메모리 삭제
int shm_remove ( int shm_identifier)
위에서 말했듯이 Unix 시스템에서는 종료 후에도 여전히 데이타가 남아있다, 삭제.
4) 공유 메모리 블럭 생성
int shmop_open ( int key, string flags, int mode, int size)
공유 메모리 블럭을 열거나 생성.
"a" : 접근 (IPC_EXCL 상수로 설정) 존재하고 있는 공유 메모리 세그먼트를 여는데 이 flag를 사용.
"c" : 생성 (IPC_CREATE 상수로 설정) 새로운 공유 메모리 세그먼트를 생성하려할 때 이 flag를 사용.
ex) $shm_open = shmop_open (0x00ff, "c", 0777, 100);
매개변수 설명 (키값:10진수 또는 16진수로, "세그먼트의 열기, 생성", 퍼미션:8진수, 사이즈);
주의 : 세번째와 네번째 인자는 존재하고 있는 메모리 세그먼트를 열때는 0 을 지정해야만 한다.
5) 공유 메모리 블럭 읽기
string shmop_read ( int shmid, int start, int count)
공유 메모리 블럭으로부터 데이터를 판독.
ex) $data = shmop_read($shm_open, 0, 50);
매개변수 설명 (공유메모리 오픈 핸들(블럭아이디), 시작할offset, count:읽어낼바이트);
6) 공유 메모리 블럭의 사이즈
int shmop_size ( int shmid)
공유 메모리 블럭으로부터 총 사이즈를 읽어낸다.
ex) $size = shmop_size($shm_open);
매개변수 설명은 생략
7) 공유 메모리 블럭에 데이터 기록
int shmop_write ( int shmid, string data, int offset)
공유 메모리 블럭에 데이터를 기록한다.
ex) $shm_write = shmop_write($shm_open, "데이터를 기록한다", 0);
매개변수 설명 (공유메모리 오픈 핸들(블럭아이디), 기록할 데이타, 시작할offset)
위 코드는 "데이터를 기록한다"를 공유 메모리 블럭에 기록하고, 기록된 바이트 수를 $shm_write 에 반환한다.
8) 공유 메모리 블럭 삭제
int shmop_delete ( int shmid)
공유 메모리 블럭을 삭제한다.
ex) shmop_delete($shm_id);
매개변수 설명은 생략
9) 공유 메모리 블럭 닫기
int shmop_close ( int shmid)
공유 메모리 블럭을 닫는다.
ex) shmop_close($shm_id);
매개변수 설명은 생략
수고하셨어요~
1) 공유 메모리 생성
int shm_attach ( int key [, int memsize [, int perm]])
공유 메모리 세그먼트를 열거나 생성한다.
ex) shm_attach($chat, 1024, 0777);
매개변수 설명 (공유메모리의 키 값, 공유메모리의 사이즈(sysvshm.init_mem), 퍼미션 임의값 0666:8진수)
2) 공유 메모리 종료
int shm_detach ( int shm_identifier)
공유 메모리 세그먼트 접속을 종료.
Unix 시스템에서의 공유메모리는 종료 후에도 여전히 존재한다. :(
3) 공유 메모리 삭제
int shm_remove ( int shm_identifier)
위에서 말했듯이 Unix 시스템에서는 종료 후에도 여전히 데이타가 남아있다, 삭제.
4) 공유 메모리 블럭 생성
int shmop_open ( int key, string flags, int mode, int size)
공유 메모리 블럭을 열거나 생성.
"a" : 접근 (IPC_EXCL 상수로 설정) 존재하고 있는 공유 메모리 세그먼트를 여는데 이 flag를 사용.
"c" : 생성 (IPC_CREATE 상수로 설정) 새로운 공유 메모리 세그먼트를 생성하려할 때 이 flag를 사용.
ex) $shm_open = shmop_open (0x00ff, "c", 0777, 100);
매개변수 설명 (키값:10진수 또는 16진수로, "세그먼트의 열기, 생성", 퍼미션:8진수, 사이즈);
주의 : 세번째와 네번째 인자는 존재하고 있는 메모리 세그먼트를 열때는 0 을 지정해야만 한다.
5) 공유 메모리 블럭 읽기
string shmop_read ( int shmid, int start, int count)
공유 메모리 블럭으로부터 데이터를 판독.
ex) $data = shmop_read($shm_open, 0, 50);
매개변수 설명 (공유메모리 오픈 핸들(블럭아이디), 시작할offset, count:읽어낼바이트);
6) 공유 메모리 블럭의 사이즈
int shmop_size ( int shmid)
공유 메모리 블럭으로부터 총 사이즈를 읽어낸다.
ex) $size = shmop_size($shm_open);
매개변수 설명은 생략
7) 공유 메모리 블럭에 데이터 기록
int shmop_write ( int shmid, string data, int offset)
공유 메모리 블럭에 데이터를 기록한다.
ex) $shm_write = shmop_write($shm_open, "데이터를 기록한다", 0);
매개변수 설명 (공유메모리 오픈 핸들(블럭아이디), 기록할 데이타, 시작할offset)
위 코드는 "데이터를 기록한다"를 공유 메모리 블럭에 기록하고, 기록된 바이트 수를 $shm_write 에 반환한다.
8) 공유 메모리 블럭 삭제
int shmop_delete ( int shmid)
공유 메모리 블럭을 삭제한다.
ex) shmop_delete($shm_id);
매개변수 설명은 생략
9) 공유 메모리 블럭 닫기
int shmop_close ( int shmid)
공유 메모리 블럭을 닫는다.
ex) shmop_close($shm_id);
매개변수 설명은 생략
수고하셨어요~
댓글 5
-
u2em
2004.08.16 21:47
이건 어떤 목적으로 사용을 하나요? -
Simsim
2004.08.16 23:13
공유메모리를 제어할 때 사용하지요.
공유메모리의 사전적 의미입니다.
다중처리 시스템에서 여러 개의 프로세서에 의해 공유되는 주기억장치. -
이승원
2004.08.17 09:18
VC++ win32 api 공부할때 DLL 나오는데 그것과같은 기능을 사용할때 쓰는거 일껄요 지가 공부한 바로는....
똑같은 기능을 가진 프로그램 2개를 열때 공통으로 사용되는 자원을 함께공유 하는거요 그것이 공유 메모리 아닌가요 비슷한가.... 공부더 해야 하는가 ^^;; 그럼 이만 -
TheMics
2004.08.17 17:14
u2em님 말씀은 공유메모리를 어떤 목적으로 사용하냐는 뜻인 듯 합니다.. -
Simsim
2004.08.20 18:26
이승원님의 말대로.. (-_-은근슬쩍. .샤르르르)
제목 | 글쓴이 | 날짜 |
---|---|---|
스크롤바 색상을 아름답게.
[17]
![]() | 해리포터포에버 | 2003.12.16 |
마우스 커서에 대해서...
[16]
![]() | impre | 2003.09.20 |
노프레임 홈페이지에서 상하좌우에 원하지 않는 간격이 생길때...
[9]
![]() | PHASE | 2003.09.08 |
벅스뮤직 음악을 페이지의 배경 음악으로 깔기 (수정 #1)
[31]
![]() | 토끼군 | 2003.08.20 |
노프레임 홈만들기 (3) - 서브 페이지 만들고 제로보드에 적용하기
[27]
![]() | @kihwa | 2003.07.26 |
노프레임 홈만들기 (2) - 로그인, 최근게시물 설치
[31]
![]() | @kihwa | 2003.07.26 |
노프레임 홈만들기 (1) - 표로 레이아웃 만들고 그림 삽입하기
[45]
![]() | @kihwa | 2003.07.11 |
쭘's식 홈페이지 만들기 No.5 - (미리보기 포함)
[18]
![]() | 쭘's | 2003.07.07 |
쭘's식 홈페이지 만들기 No.4 - (미리보기 포함)
[26]
![]() | 쭘's | 2003.06.16 |
쭘's식 홈페이지 만들기 No.3 - 깔끔 노프레임 (미리보기 포함)
[37]
![]() | 쭘's | 2003.06.07 |
css3 안쪽과 바깥쪽 그림자 만들기 입니다
![]() | 낮은자 | 2014.03.06 |
[펌] HTML5와 CSS3를 사용하여 최신 웹 사이트 구축하기
[6]
![]() | 999 | 2011.01.11 |
노프레임 홈페이지 만들기 강좌
![]() | H.N커뮤니티 | 2009.02.28 |
메뉴에 마우스오버시 레이어서브메뉴창 뜨게하기 (나모웹)
![]() | H.N커뮤니티 | 2009.02.22 |
css 정리 파일(한글)
[3]
![]() | 미곰탱 | 2009.01.22 |
스크립트 모음
[1]
![]() | *이종민* | 2008.11.29 |
계산기
[1]
![]() | *이종민* | 2008.11.29 |
바탕화면에 바로가기 만들기
![]() | *이종민* | 2008.11.29 |
타이머
![]() | *이종민* | 2008.11.29 |
즐겨찾기 추가 소스
![]() | *이종민* | 2008.11.29 |