Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DllImport из библиотке "С" с указателями на ф-ции. / 4 сообщений из 4, страница 1 из 1
07.04.2015, 12:10
    #38929052
bdm77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DllImport из библиотке "С" с указателями на ф-ции.
Добрый день!

Помогите пожалуйста,
Поставили задачу, импортировать DLL (на "С") со структорой в которой имеется указать на ф-цию.

Пример:

С#:

public struct plugin_interface_test
{
public delegate void foo(int x, int y );
}


class Program
{
[DllImport("TestPluginDLL.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int load_plugin_test(ref plugin_interface_test s);

static void Main(string[] args)
{
var plugin = new plugin_interface_test();

int res = load_plugin_test(ref plugin);

Console.ReadKey();
}
}


С:

typedef void(*foo_t) (int x, int y);

typedef struct
{
foo_t foo;
} plugin_interface_test;

__declspec(dllexport) int load_plugin_test(plugin_interface_test *interface)
{
int x = 10;
int y = 20;
interface->foo(x, y); -> тут нужно вызвать ф-ию foo(x, y) в С#

return 0;
}

C импортом структуры разобрался, а вот с передечей ф-ций что то не пойму.

Заранее благодарю.
...
Рейтинг: 0 / 0
07.04.2015, 12:15
    #38929060
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DllImport из библиотке "С" с указателями на ф-ции.
...
Рейтинг: 0 / 0
08.04.2015, 15:30
    #38930657
Ilya81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DllImport из библиотке "С" с указателями на ф-ции.
Ровно такую задачу решать не доводилось, но раз оператор ->, то нужен указатель на функцию. Указатель, это IntPtr, его можно в структуру и поместить. А дальше получить указатель на нужную функцию и записать в структуру. Обычно такое срабатывает.
...
Рейтинг: 0 / 0
08.04.2015, 18:12
    #38931014
bdm77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DllImport из библиотке "С" с указателями на ф-ции.
Ilya81,

Спасибо . Я по не много по другому решил.
Если интресно могу скинуть..
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DllImport из библиотке "С" с указателями на ф-ции. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]