Fantracy

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

随笔分类 -  C++学习

一个新手走在痛苦成长的路上,告诫后来者们,哪里有捷径。
摘要:在windows下直接配ffmpeg源码很困难,退而求其次配制FFmpeg-full-SDK-3.2,以下讲一下辛酸的过程。1.准备工作,下载FFmpeg-full-SDK-3.2,SDL-devel-1.2.13-VC82.解压FFmpeg-full-SDK-3.2,按下法在vs2008中配制环境:http://www.cnblogs.com/landmark/archive/2011/09/26/2191693.html3.在VS2008下配制ffmpeg环境:http://www.rosoo.net/a/201003/8826.html注意上文中的第8步“修改编译输出路径”不可改4.相信 阅读全文
posted @ 2012-11-24 02:11 Fantracy 阅读(1096) 评论(0) 推荐(0)

摘要:在MFC中打开文件有两种途径: 1.在C***Doc的Serialize里直接添加代码(***表示你工程的名字,比如我的是app_bezier),比如:void Capp_bezierDoc::Serialize(CArchive& ar){ CDocument::Serialize(ar); ar.Flush(); CString filename = ar.m_strFileName; if (ar.IsStoring()) { // TODO: 在此添加存储代码 } //读 else { read_data(filename); }}这里read_data函数是真正执行读操作的. 阅读全文
posted @ 2011-11-20 10:21 Fantracy 阅读(2093) 评论(1) 推荐(1)

摘要:提到生成随机数,大多数人想到的是调用C++中的rand()函数,但是这里有个问题,rand()只能产生0~RAND_MAX(如在Visual Studio 2010上面最大为0x7FFF,即32767), 如果需要产生的随机数范围是0~232-1,则rand()函数会力不从心,需要使用其他更有效的方法来实现32位随机数的生成。 本文采用三种方法,分别为Mersenne twister算法,调用Windows API CryptGenRandom函数来生成随机数,采用三个rand()生成的数字来拼合为一个数字。本文对这三种方法分别进行了介绍,并在实验中使用这三种方法分别生成了一百万个随机数,并. 阅读全文
posted @ 2011-11-14 00:16 Fantracy 阅读(7571) 评论(1) 推荐(2)

摘要:C++ STL中提供了效率很高的sort方法,通常我们利用该方法对内置数据类型(如:int, double ...)进行排序,但是如果需要按照自定义类中某个指标对类进行排序,那么我们就需要自行定义比较函数cmp,对为sort方法的参数。例如定义一个测试类Test:class Test{public: int i; int j;};首先定义一个以Test为类型的vector变量,并随机生成一些数据:vector<Test> test;for(int t = 0; t < 10; t++){ Test a; a.i = rand(); a.j... 阅读全文
posted @ 2011-10-27 01:27 Fantracy 阅读(3688) 评论(0) 推荐(0)

摘要:在写一篇论文实现的代码中涉及数值积分计算,用的是简单的复化Simpson公式;其思想是将[0,1]区间N等分,然后计算等分点处的函数值再以相应格式累加。很自然地,我写的语句就是:int N =100;double res = 0;for(int k = 0; k < N ; k++){ res += 2*f(k/N) + 4*f(k/N);}res /= 6*N;上面的程序段涉及一些Simpson格式,但这不是本文关注的地方,你只要承认它对就行了;我发现计算的结果总不是预想的,然后用Matlab中的quad函数计算,发现结果果然不一样。我以为是函数f写错了,后来发现就算是很简单的t*.. 阅读全文
posted @ 2011-10-25 01:52 Fantracy 阅读(195) 评论(0) 推荐(0)