Динамично P/Invoking DLL

Я не испытал никаких затруднений с помощью API сокетов BSD в C++ в GNU/Linux. Вот пример программы, который я использовал:

#include <sys/socket.h>

int
main()
{
    return AF_INET;
}

, Таким образом, мое взятие на этом - то, что z/OS является, вероятно, усложняющим фактором здесь, однако, потому что я никогда не использовал z/OS прежде, а тем более программировал в нем, я не могу сказать это окончательно.:-P

7
задан Nick 29 July 2009 в 20:11
поделиться

4 ответа

В этой статье описывается безопасная управляемая оболочка для GetProcAddress, которая должна вам помочь.

http://blogs.msdn.com/jmstall/archive/2007/01/06/Typesafe- GetProcAddress.aspx

5
ответ дан 7 December 2019 в 01:25
поделиться

Вы можете сделать это, вызвав P / в LoadLibrary и GetProcAddress, а затем используя Marshal.GetDelegateForFunctionPointer .

Подробнее см. в этой статье ].

3
ответ дан 7 December 2019 в 01:25
поделиться

Один из возможных вариантов - создать собственную функцию, которая отвечает за загрузку соответствующей библиотеки DLL и функции в память, а затем возвращает эту функцию в управляемый код на основе вашего пути. Таким образом, вы можете естественным образом использовать трюк GetProcAddress и вернуть точку функции. Затем вы можете PInvoke в этой функции и получить обратно делегата, который затем будет вызываться в соответствующей DLL.

0
ответ дан 7 December 2019 в 01:25
поделиться

Также см. это сообщение в блоге от Джонатана Свифта title Динамический вызов неуправляемой DLL из .net

2
ответ дан 7 December 2019 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: