如果c方法请求文件指针,我将通过JNA怎么办?

时间:2014-08-06 08:30:13

标签: c jna

所以我有一个像这样的c库方法:

void foo (FILE *out_file, some_struct *struct_ptr, int i);

假设函数foo仅使用out_file作为输出,给出的c调用示例为:

foo(stdout,struct,1)

我将什么作为FILE *指针传递给JNA?我知道JNA类声明是

public void foo (Pointer *out_file, Pointer *struct_ptr, int i);

但是如何让Pointer * out_file打印到stdout,甚至打印到文件?

1 个答案:

答案 0 :(得分:0)

fopen()(参见man page及相关函数)是获取文件指针的最简单方法。如果你想要stdout,你必须查看你的平台定义。有时它是一个宏,有时它引用一个全局数组的元素,有时它是一个内联函数。