1

如何从函数 fann_run() 获取浮点数组

这是它的 C 版本。

fann_type *calc_out;
fann_type input[2];
struct fann *ann = fann_create_from_file("xor_float.net");
input[0] = -1;
input[1] = 1;
calc_out = fann_run(ann, input);
printf("xor test (%f,%f) -> %f\n", input[0], input[1], calc_out[0]);
fann_destroy(ann);

我正在 C# 中尝试这样做

[DllImport("fannfloat.dll", EntryPoint = "fann_run")]
public static extern IntPtr fann_run(IntPtr _ann, float[] _input);

IntPtr ann = FANN.fann_create_from_file("Arial.net");
IntPtr result = FANN.fann_run(ann,input600);

现在我想使用“结果”访问花车。我怎样才能做到这一点 ?

4

1 回答 1

2

如果您知道元素的数量,您可以使用Marshal.Copy 方法将值从非托管内存复制到托管数组中:

float[] output = new float[7];
Marshal.Copy(result, output, 0, output.Length);

完成后不要忘记释放result

于 2013-02-02T17:30:36.033 回答