0. 들어가기 전에
솔직히 이 문제는 나도 공유 메모리에 대한 지식이 부족해서 많이 찾아보면서 풀었다(…)
1. level 10
공유 메모리에 대한 이해가 꼭 필요한 문제다. 먼저 공유 메모리에 대해 알아보자.
내가 만든 소스 코드는 다음과 같다. 설명은 주석에 자세히 작성해놓았다.
#include <stdio.h>
#include <stdlib.h>
#include <sys/shm.h>
#include <sys/ipc.h>
int main(){
int shmid;
char* shared_memory; //shared_memory는 char*형태로 받는다.
shmid = shmget(7530, 1024 , 0666); // 7530포트에 만들고하고, 1024바이트의 공간을 확보한 되, 0666(옵션 이름)을 준다.
shared_memory = shmat(shmid, NULL, 0); //shmat = 연결, 연결한 결과를 shared memory에 저장한다.
printf("shared_memory is : %s\n", shared_memory);
shmdt(shared_memory);
return 0;
}
실행시키면 대화 내용이 콘솔에 뜨게 되고, 대화 내용 안에 비밀번호가 있다.
비밀번호 : what!@#$?
Source
- 해커스쿨 FTZ
- Me!