У меня есть c ++ active x dll, который построен из Visual Studio 2005, и мне нужно вызвать его из кода «c», который должен быть скомпилирован в компиляторе mingw32.
Можно ли вызвать c ++ active x dll из c или мне нужно конвертировать dll из activex в win32.
Пожалуйста, дайте мне ваши предложения.
ActiveX — это COM, а COM — это, по сути, C API (так как он является частью Win API, который сам по себе является C API), так что это возможно. Но это требует хорошего понимания COM. Хорошую отправную точку можно найти здесь:
http://www.codeproject.com/Articles/13601/COM-in-plain-C
Active-X — это то же самое, что и / построен на COM (я не буду вдаваться в подробности). Так как сама цель COM состоит в том, чтобы разрешить межъязыковые компоненты, то да, вы можете вызывать COM-объекты из C.
Однако я не уверен, насколько это будет легко, поскольку у вас не будет простого мастера для импорта и создания классов-оболочек или другой поддержки инструментов.
Вот блог это входит в некоторые детали. Может стоит посмотреть.