• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
GuaGua
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  C/C++

atan与atan2的区别

摘要:形状上下文的代码已经写成好久了,今天猛然发现这个ShapeContext直方图对任何形状都是分布在一、四区间的。这才意识到写错了。这个问题浪费了我接近半天的时间,直到单步才知道atan2的返回值有问题。原来atan2是不用你费心去判断区间的,其区别如下。还有个错误,是强制转换为整形时括号的位置不对!atan, atan2Calculates the arctangent ofx(atan) or the arctangent ofy/x(atan2).doubleatan(doublex);doubleatan2(doubley,doublex);RoutineRequired Header. 阅读全文
posted @ 2011-04-20 19:13 GuaGua 阅读(2262) 评论(2) 推荐(0)
GSL科学计算库的使用

摘要:粒子滤波的代码中使用了GSL库,我从网上下载的gsl-1.11-windows-binaries.zip直接解压,类似OpenCV的配置方法,附加包含目录、附加库目录、附加依赖项,就能准确使用了。  代码中包含库的头文件时必须的:#include gsl/gsl_rng.h#include gsl/gsl_randist.h。 开头有这样几条语句:[代码]gsl_rng_set( rng, time(NULL) );也不知道是啥意思!!具体配置参考http://www.dakaren.com/index.php/archives/412.htmhttp://blog.csdn.net 阅读全文
posted @ 2011-01-19 15:42 GuaGua 阅读(3439) 评论(0) 推荐(1)
qsort() 之 __cdecl

摘要:qsort( particles, n, sizeof( particle ), &cmp );这一行一直没能编译通过,报的错误是:error C2664: “qsort” : 不能将参数 4 从“int (const FILEINFO *,const FILEINFO *)”转换为“int (__cdecl *)(const void *,const void *)”还好能从网上找到答案,按照下面的格式定义cmp就可以在C++中运行了:int __cdecl cmp(const void* p1, const void* p2 ),还有说法是将cmp定义成static类型也是可以的,我没试。 阅读全文
posted @ 2011-01-15 14:17 GuaGua 阅读(552) 评论(0) 推荐(0)
[转]VC编程中经常能遇到LNK2005错误

摘要:昨天开始修改的程序,主要添加了OpenCV和GSL库,想把粒子滤波给实现了,出现很多没碰到过的错误!使用VC编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。出现LNK2005错误有多种原因:1.重复定义全局变量。2.头文件的包含重复。3.使用第三方的库造成的。这里只讨论使用第三方的库造成的原因的处理。如果在程序中同时使用了多个函数库,并且这些函数库中有些函数名称有冲突,就会引起LNK2005错误。微软提供了两套C运行期函数库,一种是普通的函数库:LIBC.LIB,不支持多线程。另外一种是支持多线程的:m 阅读全文
posted @ 2011-01-14 12:25 GuaGua 阅读(2766) 评论(0) 推荐(0)
跟我一起写Makefile

摘要:转自:http://www.chinaunix.net/jh/23/408225.html很详细 阅读全文
posted @ 2010-07-16 14:44 GuaGua 阅读(187) 评论(0) 推荐(0)
主函数main中变量(int argc,char *argv[])的含义

摘要:看过多个Linux下的软件的源代码,发现很多项目都有main(int argc,char *argv[]) ,在网上找到如下的说明。 我刚接触到这两个变量时,根本不知道它们是用来做什么的,我想很多人也跟我一样,刚看到这两个变量时也是稀里糊涂的。其实: int main(int argc,char *argv[]) 是 UNIX 和 Linux 中的标准写法,而 int main() 只是 UNIX 及 Linux 默许的用法..那究竟 argc,argv[] 有何之用呢?下面看个例子 edit.c 就会明白它们的用法了:#include#includeint main(int argc,cha 阅读全文
posted @ 2010-07-16 11:12 GuaGua 阅读(440) 评论(0) 推荐(0)
(转)C\C++关于string.h头文件和string类

摘要:1.C的字符串头文件是string.h,在C++里这个文件变成了cstring,string前面的c表示这个是c语言的;而C++的字符串头文件是string,是利用的模板实现的,跟原先C的实现方法不一样,但要安全得多。2.VC++中有string.h文件,它就是C中的那个;而cstring文件实际上只是在一个命名空间std中include了string.h,这是因为C++要减少名称污染;所以两个都是可以用的,但C++鼓励用cstring。string为字符串实现了一个类,而其实是依靠模板做的,这个可以先不考虑。使用类,可以将问题局部化,类似于把一个大问题分解成一 阅读全文
posted @ 2010-05-18 18:33 GuaGua 阅读(3310) 评论(0) 推荐(1)
关于Makefile

摘要:makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。  makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。参见:http://www.chinaunix.net/jh/23/408225.htmlMakefile.am是一种比Makefile更高 阅读全文
posted @ 2010-05-12 20:11 GuaGua 阅读(143) 评论(0) 推荐(0)

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3