2013-09-14 2 views
1

У меня есть библиотеки DLL, которая была первоначально написана на С ++, позже модуль в C# завернут его и использовал этот импорт:Как загрузить DLL в Iron python, написанный на C++ и завернутый в C#?

[DllImport("myDLL.dll", CallingConvention=CallingConvention.Cdecl)] 
    public static extern int init(); 

Я теперь с помощью Iron Python и хочу использовать функции в оригинальной DLL которые были импортированы в эту программу C#.

В принципе, я не знаю, что импортировать в python. когда у меня был простой проект в C#, который был преобразован в DLL я добавил его:

clr.AddReferenceToFileAndPath("my path") 

я импортировал пространство имен и все функции.

В этом случае я не понимаю dll dll, я должен импортировать? любая помощь будет appriciated

редактировать:

это то, что я делаю:

>>> import sys 

    >>> import clr 

>>> clr.AddReferenceToFileAndPath(r"wrapperPath.dll") 

>>> import wrapper 

>>> from wrapper import * 

>>> init() 

Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
NameError: name 'initialize' is not defined 
+2

Использовать оболочку C#? –

+0

В чем проблема, с которой вы сталкиваетесь? – leppie

+0

Я отредактирую его сейчас, чтобы быть более ясным – user1386966

ответ

0

C# не имеет функции без классов. Вероятно, ваша проблема решена с помощью ParentClassName.init(). Возможно, было бы лучше иметь метод экземпляра, который выполняет вызов подписи C++ P/Invoke для целей отладки или ведения журнала. Удачи.

Смежные вопросы