저는 C++를 통한 COM 프로그래밍을 배우고 있습니다. GetIDsOfNames에 함께vtable 인터페이스를 통한 Excel 사용
- 를 획득하게된다 IDispatch 인터페이스, 쿼리의 DISPID, 메소드 및 속성에 액세스 호출을 사용 : 내가 알고있는 것처럼, 듀얼 인터페이스의 클라이언트 측에서 두 가지 선택이있다.
- 프로젝트의 MIDL에서 만든 GUID가있는 .c 소스 파일과 인터페이스 정의가있는 .h 헤더 파일을 포함하고 .h 파일의 컴파일러로 알려진 vtable을 통해 직접 함수를 호출하십시오.
C++ 프로그램에서 매우 복잡한 Excel 통합 문서를 만들고 싶습니다. (C# 또는 다른 것 대신 C++을 사용해야한다고 주장합니다). 1.을 사용하여 올바르게 실행되는 프로그램을 작성할 수있었습니다. 그러나 두 가지 문제가 있습니다. (A) Invoke에 대한 호출로 인해 코드가 매우 어색합니다. (B) 상당히 빠르지 만 더욱 빨라지고 싶습니다.
그래서 저는 2 가지 방법을 시도하고 싶습니다. 나는 읽은 책의 예제와 달리 .h 및 .c 파일이 누락되었습니다.이 파일은 다른 예제 프로젝트가 아니라 Microsoft에서 작성하기 때문에.
내 질문은 :
-
나는이 파일을 찾을 수
- ?
- 웨이 2에서 기대할 수있는 성능 향상 정도는 웨이 1과 비교했을 때 얼마나 좋을까요?
더 .H 및 .c 인 파일이 없습니다 만, (에 Excel.exe에 번들) 형식 라이브러리가있다. ['#import directive'] (https://msdn.microsoft.com/en-us/library/8etzzkb6.aspx) –
COM보다 C API XLL 인터페이스를 사용하는 것이 더 빠르고 더 빠를 것입니다. https://msdn.microsoft.com/en-us/library/office/bb687883.aspx –