如何安装C/C++ GNU Scientific Library(GSL) for Windows

本文引自:http://blog.chinson.idv.tw/2006/08/cc-gnu-scientific-librarygsl-for.html

因为国内打不开原文网页,特转录至此,方便学习。

C/C++ GNU Scientific Library(GSL) for Windows

The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is freesoftware under the GNU General Public License.

The library provides a wide range of mathematical routines such as randomnumber generators, special functions and least-squares fitting. There are over1000 functions in total with an extensive test suite.

GNU Scientific Library (GSL) 是一个内含许多数值及科学运算函式的 C/C++函式库,内含超过 1000个以上的函式(例如︰数值微分小波转换排序..等等),并且可以使用在各种操作系统平台。
 GSLWindows开发环境下的使用 中有简单说明如何在 Windows环境使用 GSL,以下则是再详细一点介绍如何在 Visual C++ 6.0 IDE (整合型窗口接口)下使用︰

1.
首先到 http://gnuwin32.sourceforge.net/packages/gsl.htm 下载 BinariesDeveloper files 
2.
 Binaries packagebin子目录下的 libgsl.dll, libgslcblas.dll两个档案复制到 C:\Windows\System32中。
3.
 Developer files 解压缩后,在 VC IDE 中设定 include, lib 子目录的路径。
4.
由于此版本的 lib子目录中不含 .lib文件,必须用以下指令产生。请先开启 DOS模式窗口(附属应用程序/命令提式字符),切换目录到 lib 目录下,并下达︰

lib /machine:i386 /def:libgsl.def
lib /machine:i386 /def:libgslcblas.def

可产生 libgsl.lib, libgslcblas.lib两个档案。
5.
VC 项目中加入 libgsl.lib, libgslcblas.lib  2 lib link 参数中。
6.
VC 项目的 Preprocessor definitions 中加入 GSL_DLL

(5步中>工程>setting->/link)

(6步中>工程>setting->C/C++->Preprocessordefinitions)


7. 可用函式及说明请见 Reference Manual 

ps. GSL
是使用C语法写成,故并没有使用类别(class),而是以结构(struct)及函式(function)组成,不过 GSL 仍可以用在 C++编绎器,并与 C++ 程序兼容。



GNU Scientific LibraryGSL)是一个开源的数学库,提供了许多数学运算和算法的实现,包括线性代数、多项式、数值计算、数学函数、统计学、随机数生成等。GSL使用C语言编写,并提供了许多其他语言的接口,如C++、Python、MATLAB等。 本手册将介绍如何使用GSL进行数学计算和算法实现。 1. 安装GSL 使用GSL之前,需要先安装它。可以在https://www.gnu.org/software/gsl/上下载GSL的源代码,并按照README文件中的说明进行编译和安装。 2. 包含头文件 在使用GSL之前,需要包含GSL的头文件。例如,如果要使用GSL的矩阵运算功能,需要包含以下头文件: #include <gsl/gsl_matrix.h> #include <gsl/gsl_linalg.h> 3. 初始化GSL数据类型 在使用GSL的数据类型之前,需要先初始化它们。例如,如果要使用GSL的矩阵数据类型,需要先初始化它: gsl_matrix *A = gsl_matrix_alloc(n, m); 其中,n、m分别为矩阵的行数和列数。 4. 进行数学计算和算法实现 使用GSL进行数学计算和算法实现非常方便。例如,可以使用GSL的线性代数库进行矩阵求逆: gsl_matrix *Ainv = gsl_matrix_alloc(n, m); gsl_permutation *p = gsl_permutation_alloc(n); int signum; gsl_linalg_LU_decomp(A, p, &signum); gsl_linalg_LU_invert(A, p, Ainv); 其中,gsl_linalg_LU_decomp()函数将矩阵A进行LU分解,gsl_linalg_LU_invert()函数求出矩阵A的逆矩阵。 5. 释放GSL数据类型 在使用完GSL的数据类型之后,需要释放它们,以避免内存泄漏。例如,释放矩阵数据类型: gsl_matrix_free(A); gsl_matrix_free(Ainv); gsl_permutation_free(p); 以上是GSL的基本使用方法,更多详细的函数和使用方法可以参考GSL的官方文档和示例代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值