Chinaunix首页 | 论坛 | 博客
  • 博客访问: 654272
  • 博文数量: 111
  • 博客积分: 5010
  • 博客等级: 大校
  • 技术积分: 1461
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-08 14:40
文章分类

全部博文(111)

文章存档

2010年(10)

2009年(70)

2008年(31)

我的朋友

分类: C/C++

2008-06-15 19:33:03

DevCpp中使用Blitz++进行科学计算http://hi.baidu.com/xxai/blog/item/453bec03583315753812bb08.html

经常要进行一些数学方面的计算,如果一些基本的矩阵运算以及各种随机数的产生都要自己编写,实在是令人烦不胜烦,好在有Blitz++,我们可以抛开科学计算中的一些细节,更加关注我们自己的问题本身。第一次用Blitz++,还是比较麻烦,下载,编译,配置,测试,忙活了大半天。

1.基本问题

Blitz++----用C++编写的库,用于科学计算,blitz意为闪电战,强调它的快速、高效

MSYS----运行在windows平台的,小型的GNU环境(编译Blitz时要用到)

MSYSDTK----MSYS开发工具箱(编译Blitz时要用到)

2.下载安装

a.下载安装DevCpp

b.下载Blitz++

下载后解压

c.下载安装MSYS

下载后,双击开始默认安装,最后会弹出窗口,询问,按Y,然后输入DevCpp的安装目录

安装成功后,会在桌面上看到一个M字样的蓝色图标,通过它就可以启动MSYS

d.下载安装MSYSDTK

下载后,双击开始默认安装

3.编译

双击桌面上M字样的蓝色图标,启动MSYS

cd命令,进入到Blitz++解压后所在的目录(注意:路径的分隔符用的是/,而不是\)

输入命令 ./configure CXX=g++         回车,稍等几秒,开始检查编译器 (过程极其漫长,将近40分钟才完成)

输入命令 make install ,开始编译 Blitz++ (将近20分钟后,退回到$提示符,编译成功)

4.配置DevCpp

假定Blitz++解压到目录 C:\blitz-0.9

Project-->Project Options-->Directories-->Library Directories 中,添加路径 C:\blitz-0.9\lib\.libs

Project-->Project Options-->Directories-->Include Directories 中,添加路径 C:\blitz-0.9

Project-->Project Options-->Parameters-->Linker中,添加 -lblitz

Tool-->Editor Options-->Class browsing-->Completion-->Files In cache中,添加 C:\blitz-0.9\random 和 C:\blitz-0.9\blitz 目录下的所有文件

5.测试

新建控制台程序工程

用下面一段简单的代码测试

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include
#include

using namespace std;

#include

using namespace ranlib;

int main(int argc, char *argv[])
{
       Normal <double>       normalGen(0,1);
   
     for (int i=0; i<30; i++)
         printf("%.10f\n",normalGen.random()); // 输出满足标准正态分布的随机数
  
       system("PAUSE");
     return EXIT_SUCCESS;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

F9,编译,连接,运行,

如果在控制台窗口中输出一些随机数,就算大功告成了

 
===========================

用devcpp编译lua

先下载lua代码.
第一种方法:直接用mingw的工具make mingw,这种得不到编译器.
第2种方法:
先把其中29个c文件加入工程,编译成liblua.a或者lua.dll,这是库;
再建一个控制台工程,加入lua.c,再连接刚才的库,编译成lua.exe,这是解释器;
第三步仍然建立控制台工程,加入luac.c和print.c,用liblua.a编译成luac.exe,这是编译器,用来把lua文件转换为字节码的.

现在只会静态库,dll的库怎么弄我还没搞懂. 这些东西文档里写得都有,写这篇算是凑数了~

===========================

设置PSPad调用devcpp中的mingw Gcc进行编译;另附PSPad中文版一个BUG的解决方法 PSPad是一个优秀的代码编辑工具,和UE相比,功能丝毫不弱,而且PSPad是免费的,这是最重要地,没有版权问题了。
前面曾说过 安装DEV-CPP后,用命令行及UltraEdit调用devcpp中的mingw Gcc进行编译

请参考那篇文章设置系统的环境变量
下面就是PSPad中的设置
菜单[设置]->[语法选项],在左边选中“C/C++”项,然后打开“编译器”设置页,下面是图片

 

另外,讲一个我使用PSPad(版本4.5.0(2183))的过程中遇到的一点小麻烦,是在设置外部程序时遇到的,这可能是中文版的问题。
菜单[设置]->[语法选项],选中“C/C++”项(任一项均是这样),换“外部程序”设置页。然后添加外部工具,点击“添加”后,你会发现列表中每一行最后面都是乱码。如图高亮行所示,行尾有一个问号和逗号"?,",这是不应该出现的。

修正方法是:菜单[设置]->[程序选项],然后点击左下角的“直接编辑”按钮,出现下图所示窗口,点击左侧栏的“C/C++”,在右边找到[C/C++]部分的最下方对应你添加的工具的那行,行尾也有乱码"?,",把这两个乱码删掉即可。

阅读(3441) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~