GSL(GNU Scientific Library)是一個非常不錯的科學計算函數庫,本站前面已經有文章對此做過介紹,本文将主要介紹在Win32平臺三個不同的開發環境下如何使用這個軟件庫。
首先下載GSL win32的套裝程序,地址在gnuwin32 GSL需要下載 Binaries 和 Developer files 。下載後解壓到一個目錄D:\temp中,然後開始進入下面的步驟。
下面介紹三個不同的開發環境:MingW、Visual C++ 7.0 和 Borland C++ Builder。
一、MingW
首先將D:\temp下bin目錄中的兩個dll動態鏈結庫(libgsl.dll和libgslcblas.dll)複製到 mingw 的 bin 目錄中(gcc路徑必須在 PATH 中)或者乾脆直接複製到 C:\Windows 或者 C:\Windows\system32 中,總之是程序運行的話必須可以找到這兩個動態鏈結庫。
再將 D:\temp\include\ 下 gsl 目錄完整複製到 mingw 的 include 目錄中去,這些全是頭文件,開發程序時必須會用到的。然後將 D:\temp\lib 下的 libgsl.a 和 libgslcblas.a 複製到 mingw 的 lib 目錄下。
現在一切都準備好了,可以嘗試編譯一個測試程式看看是否運行正常,這樣的話,整個開發過程與 Linux 下開發 GSL 程序完全一樣。
編譯命令是:
gcc test.c -o text.exe -lgsl
二、Visual C++ 7.0
如前所述,需要先將那兩個動態鏈結庫複製到PATH路徑中的目錄下,然後複製D:\temp\include\ 下 gsl 目錄到 Visual C++ 的 Include 目錄下,再將 D:\temp\lib 下的 libgsl.lib 和 libgslcblas.lib 複製到 Visual C++ 的 lib 目錄下。
這樣準備工作就做完了,下來拿一個簡單的程序來測試:
編譯命令是:
cl test.c /link libgsl.lib
用IDE時則是需要將這兩個lib檔加到 link 參數中去即可。
三、Borland C++ Builder
依然同前,需要先將那兩個動態鏈結庫複製到PATH路徑中的目錄下,然後複製D:\temp\include\ 下 gsl 目錄到 Borland C++ Builder 的 Include 目錄下。
下來的步驟稍有麻煩,進入那兩個dll所在目錄,用BCB所帶的 implib 工具產生2個需要用到的 lib 文件,命令如下:
implib -af libgsl.lib libgsl.dll
implib -af libgslcblas.lib libgslcblas.dll
然後將這兩個lib文件複製到 BCB 的 lib 目錄下即可。D:\teml\lib 下的 libgsl-bcc.lib 和 libgslcblas-bcc.lib 經過我試驗在BCB編譯中不可用。只能用implib產生的lib檔。
現在開始測試,編譯命令:
bcc32 test.c libgsl.lib
命令行是如此,如果你用BCB的IDE的話,就更簡單了,將這兩個lib文件名加到編譯參數中就可以了。
事情的經過就這麼簡單。
下麵是test.c的源碼
#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) = %.18en", x, y);
return 0;
}