分类: 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,编译,连接,运行,
如果在控制台窗口中输出一些随机数,就算大功告成了
先下载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++]部分的最下方对应你添加的工具的那行,行尾也有乱码"?,",把这两个乱码删掉即可。