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
[75269] Re:Re: WM_COPYDATA는 IPC에 적합한 용도가 아닙니다.
빌더(TWx) [builder] 5597 읽음    2019-02-09 11:28
dd 님이 쓰신 글 :
: 전영민 님이 쓰신 글 :
: : 두개의 실행파일을 동시에 실행시키면서 String 및 Integer 데이터를 주고 받고 싶습니다.
: : 하나는 C# 으로 만든 프로그램이며 하나는 C++ Builder 6 로 만들었습니다.
: : 해당하는 명령어에 대한 간단한 예제 프로그램을 소개해 주시면 더욱 감사하겠습니다.
:
:
:
: wm_copydata
: http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_res&no=516



답변:


WM_COPYDATA를 이용할 경우... 받는 쪽 프로세스에서 메모리를 참조할 수 있도록 하기위해
페이지 프레임 할당과,  할당된 페이지 프레임을 카피하는 동작들이 메세지가 호출될 때 마다 매번 OS 내부에서 일어나야 합니다.
거기다 프로세스가 메세지를 받아 처리한 후에 할당 된 페이지 프레임을 해제하는 OS 내부 동작까지 필요하게 돼서....


사용 방법이 간단해서 초보자들이 쓰기에 편할지는 몰라도
WM_COPYDATA는 IPC 용도로는 매우 비효율적인 방법이라... 전혀 추천할 만한 방법이 아닙니다.


WM_COPYDATA 이용하지 말고... Shared Memory 기법 이용하세요
http://delphi.borlandforum.com/impboard/impboard.dll?action=read&db=del_qna&no=14088

매번 OS에 의해서 페이지 프레임 할당과 카피가 일어나야 할 필요도 없고... 양방향 멀티 채널도
가능해서 리얼타임 IPC에 가장 효과적인 방법이죠.


+ -

관련 글 리스트
75124 두 실행 파일간 데이터 교환 어떻게 하나요? 전영민 5399 2018/10/15
75129     Re:두 실행 파일간 데이터 교환 어떻게 하나요? dd 5436 2018/10/16
75269         Re:Re: WM_COPYDATA는 IPC에 적합한 용도가 아닙니다. 빌더(TWx) 5597 2019/02/09
75125     Re:두 실행 파일간 데이터 교환 어떻게 하나요? 정영훈 5438 2018/10/15
75126         Re:Re:두 실행 파일간 데이터 교환 어떻게 하나요? 전영민 5455 2018/10/15
75127             Re:Re:Re:두 실행 파일간 데이터 교환 어떻게 하나요? 정영훈 7349 2018/10/15
75130                 Re:Re:Re:Re:두 실행 파일간 데이터 교환 어떻게 하나요? 전영민 5640 2018/10/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.