能否从ABAP加载共享对象(库)并调用它们的函数(FFI) ?



是否有可能从应用服务器上的文件加载动态共享对象/库,并从ABAP加载它的函数(即外部函数接口)?

我知道你可以用call语句调用内核函数,但也许内核中有支持加载库和调用其函数的函数?

我不知道有哪个内核函数可以让您这样做。可能有,但是内核函数肯定没有公开文档,所以您需要自己研究disp+work可执行文件,看看是否存在。而如果找到一个,那么您需要确定参数是什么。这不是一件容易的事。如果你想探索,我可能会在Linux系统上使用objdumpelfsh作为我的开始工具集。

如果我想实现你所描述的东西,我会用C语言写一个通用的"库加载器"RFC服务器,使用NetWeaver RFC SDK。我将使用C语言,因为它将提供最大的灵活性加载外部库。您需要处理加载库的特定操作系统部分(例如,在Unix系统上使用dlopen(),在Windows上使用LoadLibrary()/LoadLibraryEx),但是您可以将库函数包装在通用函数模块调用中(ala, RFC_READ_TABLE)并动态调用它们。

相关内容

  • 没有找到相关文章

最新更新