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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[153] [팁] 데이타를 공유하는 32bit DLL의 구축방법
박지훈.임프 [cbuilder] 8273 읽음    2001-08-01 13:23
이 팁은 담비님(천리안 FREKBS)님이 1999년 04월 13일에 천리안 프로그래머포럼에 올리신 것입니다.
담비님으로부터는 전제하여 올리는 데 대해 허락을 받았습니다.
좋은 정보를 공유하도록 허락해주신 담비님께 감사드립니다.
───────────────────────────────────────

안녕하세요! 담비입니다.

출처 : http://www.inprise.co.jp/qanda/cbuilder/c0005049.html

최초에, 공유하고 싶은 데이타를 다른 데이타와는 별개의 세그먼트를 사용해 생성할
필요가 있다. 다음과 같이 공유하고 싶은 데이타를 옵션을 사용해 특정 세그먼트에
생성하도록 지정한다. 단, 이 방법은 Windows95에서만 유효하다. Win32환경에서는
Windows API CreateFileMapping()을 사용해야 한다.
 //-----------------------------------------------------
 //GROBAL.CPP -공유 데이타를 별도의 세크먼트로 생성시킨다.
 //------------------------------------------------------
 #pragma option -zR_SDATA
 #pragma option -zS_SGROUP
 #pragma option -zT_SCLASS

 int   MyCount = 1;
 char MyString[80] = "";

여기서 주의할점은, 반드시, 데이타를 초기화 하는것이다. 초기화를 하지 않은 경우
옵션의 세그먼트 지정은 의미가 없어진다.
또한 세크먼트명은 8자 이하로 해야한다.
그리고 모듈 정의 파일(*.DEF)에는 다음과 같은 문장을 추가한다.

SEGMENTS _SDATA CLASS '_SCLASS' SHARED

+ -

관련 글 리스트
153 [팁] 데이타를 공유하는 32bit DLL의 구축방법 박지훈.임프 8273 2001/08/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.