Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > как с DLL на C# вызвать функцию в проге на C++


Автор: NotIsClone 23.3.2010, 15:49
возможно глупый вопрос, но как с длл на шарпах вызвать функцию(метод) в проге на С++(неуправляемом коде)
к примеру в с++ писали __declspec(dllexport) void go(){}, есть подобие в шарпах.

в идеале нужно получить длл для OPC сервера

Автор: mrbrooks 23.3.2010, 16:03
DLLimport

Автор: NotIsClone 23.3.2010, 16:34
нет вы не поняли не с C++(длл) -> C#(прога), а  с C#(длл) -> C++(прога)
причем эту длл должен видеть OPC сервер
я смотрел в DEPENDS.EXE(Dependency Walker), там никакая ф-я не экспортируется, т.е. OPC ее не увидит
как решить даную задачу?
если я вас не так понял, то можно пример..

Автор: Уттара 23.3.2010, 17:14
Никак, ведь C# это управляемый код, а управляемый код нельзя вызвать из неуправляемого кода))), если, конечно, программа написана не на managed-C++ smile 

Автор: NotIsClone 23.3.2010, 17:23
т.е. не появилось никаких вариантов..  smile 
хорошо, а можно тогда написать длл на этом "managed-C++" и вызвать из него ф-ю для OPC сервера?
проблема в том что этот OPC сервер на писан где-то в 1999 году, а для реализации задачи есть все готовое на с-шарп

Автор: Уттара 23.3.2010, 17:35
Цитата(NotIsClone @  23.3.2010,  17:23 Найти цитируемый пост)
т.е. не появилось никаких вариантов..   
хорошо, а можно тогда написать длл на этом "managed-C++" и вызвать из него ф-ю для OPC сервера? 


http://www.realcoding.net/articles/vyzov-upravlyaemogo-koda-iz-neupravlyaemogo-i-obratnyi-vyzov.html
http://habrahabr.ru/blogs/net/58240/
Там есть примеры вызова управляемого кода из неуправляемого smile 

Автор: NotIsClone 23.3.2010, 17:43
сп, ща буду смотреть smile 

Автор: NotIsClone 24.3.2010, 09:21
Уттара,  спасибо большое, линки помогли smile 

Автор: mrbrooks 24.3.2010, 09:37
Цитата(NotIsClone @  23.3.2010,  16:34 Найти цитируемый пост)
нет вы не поняли

пардон. в таком случае просто через COM - интерфейсы. 

и отчего тогда не в ветке С++ вопрос?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)