我查看了一个使用 GSL 求解线性方程组的示例,其中包含以下行:
gsl_matrix_view m = gsl_matrix_view_array (a_data, 4, 4);
我查看了 GSL 源代码,在文件
gsl_matrix_view_array
中找到了 gsl_matrix_double.h
的声明。但是我在任何地方都找不到定义。
gsl_matrix_view_array
的定义在哪里?
我从其他地方发现
gsl_matrix_view_array
是在gsl/matrix/view_source.c
中使用宏定义的。
如果你查看文件:/usr/include/gsl/gsl_matrix_double.h(这是 ubuntu 22.04 中的位置),你会发现这个定义:
....
typedef struct
{
gsl_matrix matrix;
} _gsl_matrix_view;
typedef _gsl_matrix_view gsl_matrix_view;
...