假设函数声明存在于一个名为header.h的文件中,则可以执行以下操作:
%module test%{#include "header.h"%}%inline %{ %immutable; struct FieldFetch { int status; int type; char *value; }; %mutable; struct FieldFetch gaiaTextReaderFetchField(gaiaTextReaderPtr reader, int field_num) { struct FieldFetch result; result.status = gaiaTextReaderFetchField(reader, field_num, &result.type, &result.value); return result; }%}%ignore gaiaTextReaderFetchField;%include "header.h"这将隐藏“实数”
gaiaTextReaderFetchField,而是替换为在(不可修改的)结构中返回输出参数和调用结果的版本。
(如果愿意,可以将返回状态设置为0导致引发异常,而
%javaexception不是将其放置在结构中)



