我是在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
然后可以使用如下的源代码测试一下是否安装正确:
保存上述代码为文件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 。
这些内联函数在编译时会直接插入到调用者的内部。程序在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。这对科学计算而言还是挺实在的。