gsl的安装与调用

     我是在linux下使用gsl库的。如果要在windows之下使用,则可以参考下文:

     http://www.foelin.com/2009/04/windows-%E7%8E%AF%E5%A2%83%E4%B8%8B%E4%BD%BF%E7%94%A8gsl.html

     首先,我们可以从ftp://ftp.gnu.org/gnu/gsl/下载最新版本的gsl库,我下载的是gsl-1.9版本。将包解压(如解压到~/gsl-1.9文件夹),然后从终端进入至该文件夹,运行:

~/gsl-1.9$ ./configure

如果没有error,那么接下去就可以编译了:

~/gsl-1.9$ make

并进行安装:

~/gsl-1.9$ make install

 

然后可以使用如下的源代码测试一下是否安装正确:

#include <stdio.h> #include <gsl/gsl_sf_bessel.h> int main (void) { double x = 5.0; double y = gsl_sf_bessel_J0 (x); printf ("J0(%g) = %.18e/n", x, y); return 0; }

保存上述代码为文件test.c

 

编译命令:

gcc `gsl-config --libs` test.c -o test

 

其中gsl-config --libs命令将自动配置gsl库的调用

 

再运行

./test

 

如果安装正确,就会输出:

J0(5) = -1.775967713143382920e-01
即零阶贝塞尔函数在x=5.0的值。

 

      值得注意的是,gsl库中的部分函数可以作为内联函数调用,你只需要在编译命令中添加参数: -D HAVE_INLINE 。

      这些内联函数在编译时会直接插入到调用者的内部。程序在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。这对科学计算而言还是挺实在的。

 

 

你可能感兴趣的:(windows,linux,gcc,测试,终端)