我有一个用 C 编写的 DLL(我无法编辑),它有一些看起来像的函数原型
#include <stdio.h>
void foo(FILE *bar);
我想为 DLL 创建一个 JNA 接口,但不清楚我需要为 FILE *bar 参数传递什么。我假设我需要传递一个 InputStream(这是我的偏好),但 JNA 文献在这个主题上似乎很少。
Java 接口会是什么样子?我真的需要传递给 foo 什么?
编辑: foo 假设 bar 是 fopen 的结果并调用 fscanf 之类的操作。
编辑 2:最终,我在 Java 中有一个字符串,我需要在 C 中读取它,就好像它是一个文件一样(这可能是一个完全不同的问题)。理想情况下,我想避免写入文件,这就是为什么将 InputStream 转换为 C 文件指针如此可取(而且显然非常困难)的原因。