C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[48815] 공유메모리의 크기를 가변적으로 하고 싶습니다.
newhuni [] 1283 읽음    2007-04-09 11:41
안녕하세요... 
오늘도 고수님들께 조언을 구하고자 글을 올립니다. ^^;;;

공유메모리를 사용하여 두개 이상의 프로세스에서 데이타를 교환하고 있습니다.
하나의 구조체를 생성하여 공유메모리를 구성하였는데.
프로그램 설치환경(시스템 구성)에 따라 데이타의 양이 많이 다릅니다.
(적게는 수메가, 많게는 수백메가에 다다릅니다.)

그래서 공유메모리를 가변적으로 구성하고싶습니다.
생각하는것은 외부에 INI파일을 만들어 INI파일에 데이타의 크기를 저장하고,
실행할때 이 값을 읽어와 공유메모리를 구성하고싶습니다.
---------------------------------------------------------------------------------------

현재 구조체의 데이타 변수(3차원 배열)를 동적으로 할당하는 (아래와 같은)방법으로 접근하고 있습니다.

int AAA = 10;
int BBB = 10;
typedef struct _tag_
{
    int ***data;
    make(int cnt) {
        data = new int**[cnt];
        for(int i=0;i<cnt;i++){
            data[i] = new int*[AAA];
            for(int j=0;j<AAA;j++){
                data[i][j] = new int[BBB];
            }
        }
    }
}TTAG;


그런데 처음 공유메모리를 생성하는 부분에서 구조체의 크기를 줘야 하는데...
여기서 부터 막힙니다. 동적으로 할당하다 보니 구조체의 크기가 고정이지 않아
크기 자체를 어떻게 줘야 할지... 모르겠습니다.

// Memory Mapped File Create.
hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, // 대상 파일의 핸들값
                    NULL,                 // 보안정보 관련(default null)
                    PAGE_READWRITE,       // Access Type
                    0,                    // FileMap Object size(high)
            ---------    -->    sizeof(SharedData),   // FileMap Object size(low)
                    MMFileName);          // FileMap Object Name
if(hFileMap == NULL) // Create fail
{
    ShowMessage("Unable to create file mapping !");
    return;
}

위와 같이 접근하는게 틀린가요???
다른방법으로 공유메모리를 가변적으로 생성할 수 있을까요???

고수님의 조언부탁드립니다...

+ -

관련 글 리스트
48815 공유메모리의 크기를 가변적으로 하고 싶습니다. newhuni 1283 2007/04/09
48818     Re:공유메모리의 크기를 가변적으로 하고 싶습니다. dd 2592 2007/04/09
48825         Re:Re:공유메모리의 크기를 가변적으로 하고 싶습니다. newhuni 1463 2007/04/09
48827             Re:Re:Re:공유메모리의 크기를 가변적으로 하고 싶습니다. dd 2407 2007/04/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.