Microsoft MVP성태의 닷넷 이야기
VC++: 22. IDL Library 절 [링크 복사], [링크+제목 복사],
조회: 19949
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

  
부모글 보이기/감추기
[이 토픽은 제가 뉴스그룹에 했던 답변내용입니다.]

=============================================================
 
library 내부에서 정의되는 인터페이스 및 참조되는 외부 인터페이스들은 명시적으로 type library로 내보내지게 됩니다.
즉, library 외부에서 인터페이스를 정의하고 내부에 선언하지 않았다면 type library에는 누락되는 것이죠.

이로 인해, 명시된 인터페이스들이 type library에서 그대로 참조되긴 하지만... 아닐 수도 있는 유연성을 놓은 것입니다.
또한, 인터페이스 정의만 포함된 IDL 파일을 만들고 다른 IDL 파일에서 import(C++의 include 처럼)시켜서 컴파일 할 수 있습니다. library 블록은 두개 이상 나올 수 없기 때문에 그렇게 할 수는 없습니다.

... 그러고 보면,,, 진정한 재활용 측면에서 본다면, 인터페이스 정의되는 IDL 파일을 분리하고, 분리된 IDL 파일을 import시키는 type library 생성용 idl 파일을 두는 것을 생각해 볼수도 있겠습니다. (한번도 그렇게 해본 적이 없군요. ^^;)

좀 더 자세한 사항은.. "https://docs.microsoft.com/en-us/windows/win32/midl/midl-language-reference?WT.mc_id=DT-MVP-4038148"을 참조하십시오.

덕분에... 옛날 기억 떠올리면서 한번 보게 되었습니다.^^




      .NETXPERT http://www.dotnetxpert.com
      E-MAIL kevin@dotnetxpert.com
      My Blog https://www.sysnet.pe.kr

--------------------------------------------------------------------------
      MCSD.NET, MVP[VC++]

  "UhmTaiJoon" <c_user@hanmail.com> wrote in message news:E847D3F5-5BB6-4529-8748-BC3F8C964E95@microsoft.com...
  지금 CONNECTION POINTER 부분을 보고 있는데, 지금까지 본 샘플 소스들을 보면 이벤트에 대한 인터페이스는 libary
  내부에서 선언을 하더군요.

  connection pointer 인터페이스는 이렇게 작성하는 것이 정석인지요?

  그리고, 또 하나 의문이, 다른 인터페이스는 library에는 인터페이스만 선언만 명시가 되고, 인터페이스 정의은 library 키워드
  상단에 작성이 되어 있습니다.

  library 안에 선언만 하고, library 상단에 정의 한것과 library 내부에서 선언과 동시에 정의한 경우의 차이점은 무엇인가요?

  여러분들의 답변 부탁드리겠습니다.

  모두들 즐샾되세요 ^^;;


  --








[최초 등록일: ]
[최종 수정일: 7/10/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 31  32  33  34  35  36  37  38  39  40  41  42  43  [44]  45  ...
NoWriterDateCnt.TitleFile(s)
12875정성태12/13/202115354스크립트: 35. python - time.sleep(...) 호출 시 hang이 걸리는 듯한 문제
12874정성태12/13/202114844오류 유형: 773. shell script 실행 시 "$'\r': command not found" 오류
12873정성태12/12/202116866오류 유형: 772. 리눅스 - PATH에 등록했는데도 "command not found"가 나온다면?
12872정성태12/12/202116889개발 환경 구성: 615. GoLang과 Python 빌드가 모두 가능한 docker 이미지 만들기
12871정성태12/12/202115774오류 유형: 771. docker: Error response from daemon: OCI runtime create failed
12870정성태12/9/202115356개발 환경 구성: 614. 파이썬 - PyPI 패키지 만들기 (4) package_data 옵션
12869정성태12/8/202117902개발 환경 구성: 613. git clone 실행 시 fingerprint 묻는 단계를 생략하는 방법
12868정성태12/7/202116561오류 유형: 770. twine 업로드 시 "HTTPError: 400 Bad Request ..." 오류 [1]
12867정성태12/7/202116234개발 환경 구성: 612. 파이썬 - PyPI 패키지 만들기 (3) entry_points 옵션
12866정성태12/7/202123169오류 유형: 769. "docker build ..." 시 "failed to solve with frontend dockerfile.v0: failed to read dockerfile ..." 오류
12865정성태12/6/202116555개발 환경 구성: 611. 파이썬 - PyPI 패키지 만들기 (2) long_description, cmdclass 옵션
12864정성태12/6/202114216Linux: 46. WSL 환경에서 find 명령을 사용해 파일을 찾는 방법
12863정성태12/4/202116266개발 환경 구성: 610. 파이썬 - PyPI 패키지 만들기
12862정성태12/3/202113969오류 유형: 768. Golang - 빌드 시 "cmd/go: unsupported GOOS/GOARCH pair linux /amd64" 오류
12861정성태12/3/202117991개발 환경 구성: 609. 파이썬 - "Windows embeddable package"로 개발 환경 구성하는 방법 [1]
12860정성태12/1/202114059오류 유형: 767. SQL Server - 127.0.0.1로 접속하는 경우 "Access is denied"가 발생한다면?
12859정성태12/1/202122393개발 환경 구성: 608. Hyper-V 가상 머신에 Console 모드로 로그인하는 방법
12858정성태11/30/202119789개발 환경 구성: 607. 로컬의 USB 장치를 원격 머신에 제공하는 방법 - usbip-win
12857정성태11/24/202116340개발 환경 구성: 606. WSL Ubuntu 20.04에서 파이썬을 위한 uwsgi 설치 방법
12856정성태11/23/202119142.NET Framework: 1121. C# - 동일한 IP:Port로 바인딩 가능한 서버 소켓 [2]
12855정성태11/13/202114364개발 환경 구성: 605. Azure App Service - Kudu SSH 환경에서 FTP를 이용한 파일 전송
12854정성태11/13/202116467개발 환경 구성: 604. Azure - 윈도우 VM에서 FTP 여는 방법
12853정성태11/10/202114943오류 유형: 766. Azure App Service - JBoss 호스팅 생성 시 "This region has quota of 0 PremiumV3 instances for your subscription. Try selecting different region or SKU."
12851정성태11/1/202116649스크립트: 34. 파이썬 - MySQLdb 기본 예제 코드
12850정성태10/27/202118418오류 유형: 765. 우분투에서 pip install mysqlclient 실행 시 "OSError: mysql_config not found" 오류
12849정성태10/17/202118021스크립트: 33. JavaScript와 C#의 시간 변환 [1]
... 31  32  33  34  35  36  37  38  39  40  41  42  43  [44]  45  ...