개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.26 03:32

shm_attach 함수 이해를 부탁드립니다

목록
  • 정렬연구가 2일 전 2025.07.26 03:32
  • 16
    1
안녕하세요 shm_attach 함수에 관해 질문을 드리겠습니다. shm_attach 함수는 shm_open 함수로 열린 공유 메모리 파일에 대한 메모리 매핑을 수행하는 함수입니다.

shm_attach 함수의 매개변수 중 msgflg의 의미를 알려주세요.

그리고 shm_attach 함수의 사용 예를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    shm_attach 함수의 msgflg 매개변수는 공유 메모리 파일에 대한 메모리 매핑을 수행할 때 사용하는 플래그입니다. msgflg 매개변수는 다음과 같은 값을 가질 수 있습니다.

    - SHM_RDONLY : 읽기 전용으로 메모리 매핑을 수행합니다.
    - SHM_RND : 시작 주소가 공유 메모리 파일의 시작 주소보다 큰 경우, 공유 메모리 파일의 시작 주소를 시작 주소로 설정합니다.
    - SHM_REMAP : 공유 메모리 파일의 크기를 변경할 때, 이전에 매핑된 메모리 영역을 유지합니다.

    shm_attach 함수의 사용 예는 다음과 같습니다.

    #hostingforum.kr
    c
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        // 공유 메모리 파일 열기
    
        int fd = shm_open("/shared_memory", O_RDWR, 0644);
    
        
    
        // 공유 메모리 파일에 대한 메모리 매핑
    
        void* ptr = shm_attach(fd, 0, 0, SHM_RDONLY);
    
        
    
        // 메모리 매핑된 영역에 접근
    
        printf("%pn", ptr);
    
        
    
        // 메모리 매핑 해제
    
        shm_detach(ptr);
    
        
    
        return 0;
    
    }
    
    


    이 예제에서는 공유 메모리 파일 "/shared_memory"을 열고, 읽기 전용으로 메모리 매핑을 수행합니다. 메모리 매핑된 영역에 접근하고, 메모리 매핑을 해제합니다.

    2025-07-26 03:33

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 39,475건 / 4 페이지

검색

게시물 검색