GSL+DevC++使用
在DEV C++中配置GSL1.8库
前面写了如何在vs2005中添加gsl,本文所所述为在dev c++中使用gsl库,由实践总结而得。
准备软件:
1、Orwell Dev C++ 5.6.2 No Compiler Setup.exe(devc++的社区升级版,很不错的)
2、gsl-1.8.exe
3、TDM-GCC4.7.1-2.exe,安装后,目录同样名为mingw32(也可以安装mingw版)
步骤如下:
1、安装完以上3个软件。
2、将 gsl 安装目录下的 bin 下 libgsl.dll,libgslcblas.dll 复制到mingw32的bin目录中,lib 下 ibgsl.a,libgslcblas.a 复制到 mingw32目录下的 lib 目录下;include 下的整个 gsl 文件夹复制到mingw32目录下的 include 目录下。
3、 打开 dev-c++,工具-编译选项-编译器,选上“在连接器命令行加入如下命令”,加入-lgsl -lgslcblas(中间有空格,即在连接时连上 libgsl.a,libgslcblas.a,gcc 可以自动识别前缀 lib 和后缀.a)
此时在用Dev C++打开一个gsl的c文件,如下所示:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <gsl/gsl_rng.h>
#include <gsl/gsl_randist.h>
#define MAXRNDNUM 100
int main(int argc, char * argv[])
{
const gsl_rng_type *T; // 随机数生成器类型指针
gsl_rng *r; // 随机数生成器指针
int i;
double u; // 随机数变量
const double erlang_a=0.6; // lambda=0.6
const double erlang_n=2.0; // n=2.0
// gsl_rng_default (gsl_rng_mt19937)
// gsl_rng_ranlxs0, gsl_rng_ranlxs1, gsl_rng_ranlxs2
// gsl_rng_ranlxd1, gsl_rng_ranlxd2
T = gsl_rng_ranlxs0;
gsl_rng_default_seed = ((unsigned long)(time(NULL))); // 取当前时间作为种子
r = gsl_rng_alloc(T); // 创建随机数生成器实例
for (i=0; i<MAXRNDNUM; i++)
{
/** Functions:
* double gsl_ran_erlang (const gsl_rng * r, const double a, const double n)
* double gsl_ran_erlang_pdf (const double x, const double a, const double n)
*/
u = gsl_ran_erlang(r, erlang_a, erlang_n); // 生成服从 Erlang 分布的随机数
printf("%.5f\n", u);
}
// 打印 0.0, 1.0 处的概率密度值
printf("erlang_pdf(0.0)=%.5f\n", gsl_ran_erlang_pdf(0.0, erlang_a, erlang_n));
printf("erlang_pdf(1.0)=%.5f\n", gsl_ran_erlang_pdf(1.0, erlang_a, erlang_n));
gsl_rng_free(r); // 释放随机数生成器
return 0;
}
点击 compile &run,即可运行,编译的命令如下:
General: mingw5
Executing gcc.exe...
gcc.exe "F:\GSL\example_practices\erlang_demo.c" -o "F:\GSL\example_practices\erlang_demo.exe" -m32 -g3 -lgsl -lgslcblas -I"C:\MinGW32\include" -L"C:\MinGW32\lib" -m32 -g3
Compilation succeeded in 0.33 seconds
运行结果:
0.90501
1.34102
0.53111
2.18400
1.10534
1.48317
0.59413
0.56080
0.10496
0.65189
1.21032
4.07168
0.71350
0.62467
1.78255
0.35549
1.08990
0.84559
3.24031
1.62870
2.33040
0.82586
1.34858
1.07816
0.71486
0.58534
1.69676
0.36377
1.39621
2.26477
1.46325
1.09332
0.45466
3.76635
0.61206
0.49410
1.08605
1.59985
1.04695
0.59166
0.09401
0.31422
0.72572
1.37264
3.60675
0.46318
0.70602
2.92091
3.14072
2.50999
0.38493
1.45044
1.23082
2.37491
2.02381
1.57281
1.45119
0.73306
1.09668
0.37983
0.74744
1.84946
0.62742
1.09751
0.44519
1.20147
0.28054
0.67864
1.37922
0.68963
0.77507
0.16112
2.46477
0.35400
3.24018
2.16743
0.52736
0.34015
3.33357
2.25478
1.69646
0.49001
0.60242
1.52576
1.34437
2.51762
3.05635
1.18719
1.27544
2.63845
2.04897
0.63952
0.87056
2.83859
0.69683
0.50104
0.91714
1.17773
1.72386
1.30541
erlang_pdf(0.0)=0.00000
erlang_pdf(1.0)=0.52465
--------------------------------
Process exited with return value 0
Press any key to continue . . .
若要是在devc++中建立了一个gsl的dev的工程,那么还需要做一下步骤,可参考如下:
1.Open Dev C++ and create a new project
2.Click Project->Project Options menu
3.Goto Directories tab
4.Goto "Include Directories" sub-tab
5.Enter C:\Program Files\GnuWin32\include and press Add button
6.Goto Parameters tab
7.Click on button "Add library or object"
8.Navigate and select C:\Program Files\GnuWin32\lib\libgsl.a
9.Click on button "Add library or object"
10.Navigate and select C:\Program Files\GnuWin32\lib\libgslcblas.a
9.Click on button "Add library or object"
10.Navigate and select C:\Program Files\GnuWin32\lib\libgslcblas.dll.a
11.Add the path C:\Program Files\GnuWin32\bin to system runtime, or copy the dlls libgsl.dll and libgslcblas.dll to the location where you want to run your .exe
GSL+DevC++使用的更多相关文章
- Windows下使用Dev-C++开发基于pthread.h的多线程程序
一.下载Windows版本的pthread 目前最新版本是:pthreads-w32-2-9-1-release.zip. 二.解压pthread到指定目录 我选择的目录是:E:\DEV-C ...
- 【gsl】生成随机数
来自:http://hsxqwanting.blog.163.com/blog/static/16945437201301042830815/ 使用GSL生成随机数时的三个步骤: (1)gsl_ ...
- linux 下安装gsl
访问 http://ftp.club.cc.cmu.edu/pub/gnu/gsl/下载最新版本的,现在最新的是gsl-1.16.tar.gz,已经是2013年更新的了.然后下载 安装 简便的安装过程 ...
- VC++编译GSL
目录 第1章 VC++ 1 1.1 修改行结束符 1 1.2 修改#include "*.c" 为 #include "*.inl" 2 1. ...
- sublime text 2 + Dev-C++/MinGW 组合配置更方便快捷的 C/C++ 编译环境(原创)
首先看一下配置后的效果: 1.直接在底部文本框中显示运行结果(不需要从键盘输入的时候使用): 2.在cmd中运行结果(需要从键盘输入的时候使用): 快捷键说明: 运行: 在底部文本栏显示结果:Ctrl ...
- How to install GSL on linux(ubuntu,centos,redhat)
Test: ftp://ftp.gnu.org/gnu/gsl/gsl-1.15.tar.gz success. ftp://ftp.gnu.org/gnu/gsl/gsl-1.13.0.tar.g ...
- Dev-C++之开启装逼效果
Dev-C++是个不错的C++IDE——在10年前,它是很不错,在现在,它是个以界面丑陋和调试像吃粑粑这两点著称,如下图.
- EGE图形库配置(Dev-C++ 5.10 , TDM GCC 4.8.1)
准备工作:1>Dev-C++ 5.10版本 系统 Win XP/WIN 7 2>下载EGE图形库“ege-13.04.02-full” !,关于本次配置的Dev-C++的信息见如: ...
- DEVC++生成DLL的方法
通过网上一个MD5加密算法源码生成DLL 一.建立DLL项目并编译 DEVC++创建C项目,选择DLL, 一共4个文件及源码如下: dll.h dllmain.c md5.c md5.h 函数参数: ...
随机推荐
- 【Java】Java URLDecoder异常Illegal hex characters in escape (%)
如果收到的HTTP请求参数(URL中的GET请求)中有一个字符串,是中文,比如“10%是黄段子”,服务器段使用URLDecoder.decode就会出现此异常.URL只能使用英文字母.阿拉伯数字和某些 ...
- 【HDOJ6693】Valentine's Day(概率)
题意:给定n件物品,每件物品让周驿东开心的概率为a[i] 要求从中选一些,使得周驿东恰好开心一次的概率最大 n<=1e4,0<=a[i]<=1 思路: #include<bit ...
- Java机试题目
1.生成一个随机四位数,每位数字不重复. package com.cloud.stagging.lhcloudzuul; import java.util.Random; /** * 1.生成一个随机 ...
- nginx配置-Rewrite
rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向.rewrite只能放在server{},location{},if{}中,并且只能 ...
- Linux Weblogic部署web项目(war包)
第一步,启动并访问weblogic,进入登录页面 第二步,进入主页面,开始部署项目 第三步,上载项目war包 选择需要上载的本地war包 第四步,开始项目配置 继续下一步 选择红色标记的配置 第五步, ...
- jmeter之JDBC请求
jmeter不仅可以测试http请求,也可以执行JDBC请求的测试.本次以mysql为例,介绍JDBC请求如何完成发送 目录 1.环境配置 2.数据库连接配置 3.添加一个JDBC请求 1.环境配置 ...
- 定制化fiddler会话列表字段
前言:fiddler默认会话列表已有一些显示字段,可能并不是我们需要的,我们可以自行定制化. 以会话耗时为例: 目录 1.方法一:修改js脚本 2.方法二:通过菜单栏设置 1.方法一:修改js脚本 点 ...
- Island Transport 【HDU - 4280】【最大流Dinic】
题目链接 可以说是真的把时间卡爆了,不断的修改了好多次之后才A了,一直T一直T,哭了…… 可以说是很练时间优化了,不断的改,不断的提交,最后竟然是改了Dinic中的BFS()中,我们一旦搜索到了T之后 ...
- 模拟赛毒瘤状压DP题:Kronican
Kronican 内存限制:32 MiB 时间限制:2000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 上传者: cqbzgm 题目描述 Mislav有N个无限体积的杯子,每一个杯子中都 ...
- jQuery 动态添加、删除css样式
1.addClass css中: <style type="text/css"> .chColor {background: #267cb7;color:w ...