梦书之家(移动开发)

你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。 ——肖伯纳

导航

随笔分类 -  C/C++

一道面试题:求一个正整数的因子个数
摘要:如:整数 15,有1, 15, 3,5 共4个因子。要求算法的复杂度为O(sqrt(N)).首先想到的方法是:逐个枚举,从 1 到 N/2 + 1(当然也可以是 从 1 到 N),这样算法的复杂到至少是O(N)的,而且,其中还要去重,比如 24 = 4*6 = 6*4,这样还要分配空间来存放找到的因子,并且每次添加的时候,还要查找是否已经在列表中,采用二分查找也要logN,因此最终的算法复杂度也要达到O(NlogN)。不符合题目的要求。其实,重复因子的出现是在sqrt(N)的附近,再加上题目给出的算法复杂度的提示,因此我们可以写出如下的算法: /** * 求正整数 N的因子数 * @par.. 阅读全文

posted @ 2012-05-07 15:53 梦书 阅读(10210) 评论(1) 推荐(2) 编辑

Linux使用valgrind来检测程序的内存泄漏
摘要:1.到http://valgrind.org/下载最新版本的valgrind2.加压后,可以查看README文件,参照readme的指示进行如下的操作: 1). Run ./configure, with some options if you wish. The only interesting one is the usual --prefix=/where/you/want/it/installed. 2). Run "make". 3). Run "make install", possibly as root if the destinatio 阅读全文

posted @ 2011-11-04 16:36 梦书 阅读(6077) 评论(0) 推荐(0) 编辑

NDK基础
摘要:NDK(Android Native Development Kit),其实就是Java语言里面调用C/C++语言写的代码,但是由于Android系统是基于Linux的,所以C/C++的代码只能用GCC来编译了,如果Android系统是基于Windows的话,我们就可以用VC++等IDE来编译了。当然,二者都需要Android系统提供一些Library来供C/C++调用。所以,在学习NDK之前,最好看看Java语言里面关于Native method的相关的内容,入门推荐:1 Thinking in Java, 2th edition. append B. The Java Native Int 阅读全文

posted @ 2010-09-15 14:23 梦书 阅读(526) 评论(0) 推荐(0) 编辑

跨平台注意事项
摘要:1 对于常量的宽字符,竟然用 L 宏而不是 _T或者 TEXT(),因为 L 是被广泛支持的。 阅读全文

posted @ 2010-06-24 15:06 梦书 阅读(141) 评论(0) 推荐(0) 编辑

粗心,粗心啊——使用了野指针
摘要:不小心,在修改程序的时候,使用了已经释放的指针,而且被调用的那个函数没有对输入的参数进行合法性检查,在连机Debug下,才能看到以下的信息。平时运行时,是看不出来的。可能无法通过Hopper Test,长时间运行程序也会导致程序的崩溃。Data Abort: Thread=86857000 Proc=84317880 'MyApp.exe'AKY=00010001 PC=03f96528(core... 阅读全文

posted @ 2007-06-15 09:20 梦书 阅读(524) 评论(0) 推荐(1) 编辑

LINK : fatal error LNK1104: cannot open file "mfc42u.lib"
摘要:在Visual Studio 6.0下编译一个同事发来的程序,出现如下的错误:LINK : fatal error LNK1104: cannot open file "mfc42u.lib"上网找了下,是因为:“mfc42u.lib是unicode版本的MFC运行库。在安装VC的时候缺省是没有安装的”。只好先将同事机器上“……\VC98\MFC\LIB”目录下的文件拷过来,编译成功!还可以将Vi... 阅读全文

posted @ 2007-06-08 15:00 梦书 阅读(14373) 评论(0) 推荐(1) 编辑

VS2005 几个常用属性设置
摘要:关于SmartDevice 工程的几个常用属性设置 阅读全文

posted @ 2007-04-12 14:20 梦书 阅读(1484) 评论(0) 推荐(0) 编辑

MFC 8.0 中的CWnd类不支持OnHelpInfo方法
摘要:在将EVC 4工程(单文档类型)移植到VS2005的时候,就会发现编译器已经不识别HELPINFO 这个类型,在EVC4 下可以看到这个类型是在wcealt.h文件中定义:typedef struct tagHELPINFO {} HELPINFO;typedef void* LPHELPINFO; 而这个类型是用在CMyView::OnHelpInfo(HELPINFO* pHelpInfo) 中,OnHelpInfo是来自CWnd类,在EVC的帮助下可以找到该方法,在VS2003 MSDN中也能找到该方法,但是在vs2005中却找不到,google也搜索不到。还是在微软的技术论坛找到该问题 阅读全文

posted @ 2006-08-17 10:02 梦书 阅读(1102) 评论(0) 推荐(0) 编辑

RGB值与常用颜色的对应关系
摘要:详细的配色方案见:http://www.jvr.cn/rgb.htm 红(Red) 绿(Green) 蓝(Blue) ... 阅读全文

posted @ 2006-03-27 21:22 梦书 阅读(5996) 评论(1) 推荐(0) 编辑

VC++的链接错误LNK2001(ZT)
摘要:学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时, 编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: u... 阅读全文

posted @ 2006-01-10 09:56 梦书 阅读(517) 评论(0) 推荐(0) 编辑

C语言测试:想成为嵌入式程序员应知道的10个基本问题[转载]
摘要:C语言的几个基本问题,面试或者笔试的时候很有用 阅读全文

posted @ 2005-12-25 10:01 梦书 阅读(445) 评论(0) 推荐(0) 编辑

define与typedef数据类型表示的区别zz
摘要:转自:http://www.zahui.com/html/9/18091.htm 作者:Daizh 为了简洁和书写方便,我们通常会对数据类型进行类型的表示或别名,通常有两种方法可以实现,即define宏和typedef。 例如:#define STU struct stu在程序中可用STU作变量说明: STU body[5], *p; #define INT... 阅读全文

posted @ 2005-12-23 12:23 梦书 阅读(422) 评论(0) 推荐(1) 编辑