在Linux系统上,比较好的科学计算库应该就属GSL库了,而且GSL库编译安装非常方便,没有任何第三方库依赖,直接编译安装即可,这在开源软件界绝对是一个不小的奇迹,因为绝大多数开源软件,想要编译运行,都会把我们折磨得死去活来,解决一个又一个依赖库和版本冲突,是一个绝对的体力活,还需要耐心和毅力。所以GSL库真的是一个不可多得的开源科学计算库。
我们首先下载GSL源码:
git clone git://git.savannah.gnu.org/gsl.git
其会把代码下载到当前目录下的gsl目录,进入gsl目录,运行:
./autogen.sh
然后运行:
./configure --enable-maintainer-mode
然后运行:
make
make install
其会将头文件安装到/usr/local/include目录,库文件安装到/user/local/lib目录下。
为了验证编译安装成功,编辑如下文件:
#include
#include
int main(int argc, char** argv)
{
double x = 5.0;
double y = gsl_sf_bessel_J0(x);
printf("bessel=%f
", y);
return 0;
}
编译生成可执行文件:
gcc -std=c99 -I/usr/local/include -L/usr/local/lib -o test.o test.c -lgsl -lgslcblas -lm
其中加入-std=c99可以使用内联函数,提高程序执行效率。
先设置好环境变量:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
最后运行:
./test.o
如果可以正确打印出一个浮点数,就说明编译安装成功了。