- 博客(20)
- 资源 (12)
- 收藏
- 关注
转载 CMake 快速入门
CMake是一个跨平台的程序构建工具,比如起自己编写Makefile方便很多。介绍:http://baike.baidu.com/view/1126160.htm本文件不介绍CMake的基本语法,下面是篇不错的入门教程:http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/ 一,首先构建比较简单的工程,来对CMake有个
2016-07-30 17:21:51 1501
原创 C++ 算法笔试十题
1、将一整数逆序后放入一数组中(要求递归实现)2、删除串中指定的字符3、递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)4、组合问题(从M个不同字符中任取N个字符的所有组合)5、分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)6、寻找迷宫的一条出路,o:通路; X:障碍。(大家经常谈到的一个小算法
2016-07-30 17:04:35 4820
原创 【Debug】_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));
首先,需要知道的是:_BLOCK_TYPE_IS_VALID宏,是用来检测这个内存块在当前堆上是否有效。 一般而言,只有使用new或者malloc申请的内存是位于堆上面,且程序不会自动清理。所以需要注意的是:new和delete,malloc和free都是成对的使用。既然出现了有关“堆”的错误,所以首先想到的就是,new和delete有没有成对的使用。下面的测试代码就会出现错误提
2016-07-30 14:57:07 1282
原创 【Debug】“return HeapAlloc(_crtheap, 0, size ? size : 1);
【错误提示】出现“触发xx断点……”或者定位到代码“return HeapAlloc(_crtheap, 0, size ? size : 1);”错误【问题解析】HeapAlloc是一个Windows API函数。它用来在指定的堆上分配内存,并且分配后的内存不可移动。出现该错误的大部分原因:在一个被调函数里面,指针变量使用了new分配堆空间,但函数结束返回的时候没有释放。在主函数
2016-07-30 14:40:54 2398
原创 【Debug】CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST
背景说明:VC工程(*.dsw或者*.dsp)通过VS2008转换后,编译时出现错误提示:CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST解决办法:打开“xxx.rc”文件,找到【IDR_MANIFEST ...... "xxx.manifest"】这行。注释掉,再重新编译,ok~
2016-07-28 11:18:17 741
原创 【Debug】error RC1015: cannot open include file 'atlres.h'
问题描述:WTL程序出现:error RC1015: cannot open include file 'atlres.h'解决问题:1、WTL工程属性 > 配置属性 > C/C++ > 常规 > 附加包含目录,添加WTL的Include目录2、WTL工程属性 > 配置属性 > 资源 > 常规 > 附加包含目录,添加WTL的Include目录
2016-07-27 17:10:36 961
原创 log4cplus 简单介绍
log4cplus框架1. log4cplus基本元素 Layouts :控制输出消息的格式。 Appenders :输出位置。 Logger :日志对象。 Priorities :优先权,包括TRACE, DEBUG, INFO, WARNING, ERROR, FATAL。 2. log4cplus基本结构 3. 使用步骤:
2016-07-26 18:22:36 910
原创 log4cplus-1.2.0 编译指南(VS08)
本文主要介绍使用VS2008在编译log4cplus时,遇到的错误进行解释与处理!Log4cplus是Log4j(java中流行的日志处理系统)的C++版本,而且是开源的。下载地址:https://sourceforge.net/projects/log4cplus/
2016-07-26 11:21:43 1789
原创 C++ sort和qsort有关总结
【qsort】原 型:void __fileDECL qsort ( void *base, size_t num, size_t width, int (__fileDECL *comp)(const void *, const void *) )功 能: 使用快速排序例程进行排序参 数:base:需要排序的目标数组首地址
2016-07-25 16:39:47 1077
原创 Visual Studio 使用正则表达式检查代码规范
现在的软件项目多数情况下都是多个人一起开发,每个人的编码规范可能都不一样。有些是写C++的,有些写过java,有些还是C风格,导致代码看起来结构很混乱。在以前带过的项目里面,也有试过在项目开始时就制定了一些编程规范,但是效果不佳。经常遇到有问题需要排查,但涉及到别人的代码时,默默地改成自己熟悉的风格,再去细看代码部分(我经常这样干)。最近在网上看到一篇关于使用正则表达式来检查代码规...
2016-07-23 13:44:27 2330
原创 C++ pure virtual function call
最近在写代码的时候,遇到“pure virtual function call”的报错:问题的背景是这样的,Thread是一个线程的基类,Thread的代码如下:#ifndef _THREAD_H_#define _THREAD_H_#include #include class Thread{public: Thread(): m_stopFlag(false)
2016-07-22 11:05:38 2223 2
原创 C++ 对象数组释放造成内存泄漏
对象数组在释放的时候经常会遇到两种情况,可能会造成内存泄漏:例如,GeoPoint是一个类:class GeoPoint{public: GeoPoint(){}; GeoPoint (double x, double y){dx = x; dy = y;}; ~GeoPoint(){};public: void SetX(double x){dx = x;}; void
2016-07-20 17:21:15 6034 3
原创 C++ 程序延时处理的几种方法
(—)使用_sleep()函数例如:_sleep(200);//延时200毫秒(二)使用delay(int time)函数 (需要自己实现,编译器里面没有)/// @brief 程序延时/// @param[in] msec : 毫秒/// @remark /// @return voidvoid delay_msec(int msec){ clock
2016-07-18 17:15:35 30545
原创 【Debug】The value of ESP was not properly saved across a function call.
调用DLL函数,出现错误:Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a
2016-07-15 11:56:21 953
原创 C++ 变长参数函数小结
变长参数的函数,即参数个数可变、参数类型不定的函数。设计一个参数个数可变、参数类型不定的函数是可能的,最常见的例子是printf函数、scanf函数和高级语言的Format函数。在C/C++中,为了通知编译器函数的参数个数和类型可变(即是不定的、未知的),就必须以三个点结束该函数的声明。例如://printf函数的声明int printf(const char * _Format, ..
2016-07-14 10:31:03 13960
原创 C++ #pragma 用法小结
【#pragma warning】#pragma warning(disable:450734;once:4385;error:164)等价于#pragma warning(disable:450734) //不显示4507和34号警告信息#pragma warning(once:4385) //4385号警告信息仅报告一次#pragma warning(error:164)
2016-07-12 11:32:52 855
原创 C++ if 语句的正确书写方式
if 语句是C++/C 语言中最简单、最常用的语句,然而很多程序员用隐含错误的方式写if 语句。本节以“与零值比较”为例,展开讨论。1、布尔变量与零值比较
2016-07-06 10:36:50 12876
原创 C++ 宏定义三要点
只有满足以下这三个要求的宏才是无误的,否则有可能出现与宏的原义相左的情况!1、表达式中参数变元都用括号括起来;2、将表达式根据运算优先将各个子表达式用括号括起来;3、将整个表达式用括号括起来;例如:#define MIN(x,y) ( ( (x)>(y) )? (y):(x) )
2016-07-06 10:23:25 535
原创 Android 使用bundle在activity之间交换数据
在android应用中,经常会有多个activity,而这些activity之间又经常需要交换数据。这时,可以将要保存的数据存放在bundle对象中,然后通过intent提供的putExtras()方法将要携带的数据保存到intent中。例如:在MainActivity中填入注册信息,点击“提交”,在RegisterActivity中进行显示。MainActivity关键代码如下:publ
2016-07-03 22:50:30 3255
原创 Android “再按一次返回键退出程序”
再按一次返回键退出程序:即短时间内连续按两次返回键退出程序!很多app现在都用了这种功能,相对于弹对话框问你是否退出,连续按两次返回退出对用户的打扰更少,也减少了误触返回键对于软件使用的打扰。因为有了之前 Android 防止控件被重复点击 的实践,所以实现起来还是很简单的,比如一秒内按两次返回键退出的实现:在程序中设一个标记变量lastPressTime,用以记录上一次按返回
2016-07-01 17:32:24 2436
sqlite3_blob_test.zip
2019-05-15
基于winInet的文件上传程序
2019-04-04
基于mongoose实现Http Server(多线程)
2019-02-14
SpreadSheet的DLL版本(含源代码)
2018-07-02
SpreadSheet简单使用实例
2018-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人