![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++编程
文章平均质量分 57
蚂蚁俱乐部
这个作者很懒,什么都没留下…
展开
-
C++ 线程池源代码实现3
最近在做一个项目,因为需要到多线程,网络上面找了一些代码,现在贴上来,以留备用。ThreadPool.h头文件#ifndef OTA_THREADPOOL_H_CAESAR__DEF#define OTA_THREADPOOL_H_CAESAR__DEF#include class CWorkDesc{public: CWorkDesc(){} virtual ~CWorkDesc(){}};class CWork {public: CWork(){} virtual ~CWork(){} virtual原创 2011-05-12 16:24:00 · 894 阅读 · 0 评论 -
VS 2005 Release模式下调试
所谓Release和Debug只是大家和编译器约定的一些生成规则而已,所以调试是无所谓Release和Debug的,只是由于生成的规则不同,可能Release的一些调试结果没Debug精确详细而已。下面是设置在Release模式下调试的方法:1.工程项目上右键 -> 属性2.c++ -> 常规 -〉调试信息格式 选 程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi)原创 2012-06-21 10:21:06 · 514 阅读 · 0 评论 -
windbg 调试崩溃实例
1、崩溃发生过程程序执行过程中,崩溃,弹出mssagebox,提示R6034错误。查看r6034错误:表示运行库的manifest设置不正确,2、提取dump过程1)查看任务管理器,崩溃的进程还在。判定可以用Windbg截获dump2)打开windbg,file--attach to a process,选择崩溃进程如test.exe;3)使用命令 .dump /mf原创 2012-05-08 11:48:28 · 957 阅读 · 0 评论 -
Windbg找应用程序内存泄露
给自己做个记号1.先运行Windbg安装目录下的gflags.exe,Image File,Image填exe名字,不要全路径,选上Create user mode stack trace database;2.在Windbg中调试模式运行程序,在退出时显示:e:\vs工程\tests\testsdlg.cpp(101) : {125} normal block at 0x003B转载 2012-04-23 11:08:04 · 2168 阅读 · 0 评论 -
VirtulaKD + Windbg + vmware 调试内核代码
1. 在官网下载VirtualKD安装包: http://virtualkd.sysprogs.org/2. 在主机上安装VirtualKD,在安装后的目录中,在主机运行 vmmon.exe ,点击 Debugger Path 按钮, 选择Windbg 路径,然后一直开启vmmon.exe。 3. 将安装目录中的target 文件夹拷贝到虚拟机中。 在虚原创 2012-03-08 09:43:46 · 726 阅读 · 0 评论 -
VC下生成随机数字符串
需要的头文件:<stdlib.h>,库函数:srand;rand;time方法:1.首先设置种子srand(unsigned)time(NULL));使用当前时间作为种子是多数人的习惯做法. 2.产生随机数:rand()可以产生一个随机数;范围在0~RAND_MAX(32767)之间;如果要产生一个[min,max]之间的数,可以这样:rand()%(max) +原创 2011-12-31 09:35:48 · 2488 阅读 · 1 评论 -
VC调试DLL方法
方法①: 对DLL的工程DEBUG,在DLL工程的Project Setting->Debug->Executable for debug session中加入你的.exe的路径和名字。可以在dll中设置断点,.exe程序必须要调用dll中函数。方法②: 有个更好的方法:(我也没试过)在settings/debug中category选additional dlls,然后将你要调试的原创 2011-12-28 21:45:07 · 739 阅读 · 0 评论 -
C++线程池源代码实现2
FORCEINLINEVOIDInitializeListHead( IN PLIST_ENTRY ListHead ){ ListHead->Flink = ListHead->Blink = ListHead;}FORCEINLINE BOOLEAN RemoveEntryList(IN PLIST_ENTRY Entry){ PLIST_ENTRY Blink; PLIST_ENTRY Flink; Flink = Entry->Flink; Blink = Entry->Bl原创 2011-05-12 16:16:00 · 731 阅读 · 0 评论 -
C++线程池源代码实现1
#ifndef _ThreadPool_H_#define _ThreadPool_H_#pragma warning(disable: 4530)#pragma warning(disable: 4786)#include#include#include#includeusingnamespacestd;class ThreadJob //工作基类{public://供线程池调用的虚函数virtualvoid DoJob(void*pPara)= 0;};class ThreadPool{public:/原创 2011-05-12 16:13:00 · 760 阅读 · 0 评论 -
在windows平台下编译sqlite3
首先,sqlite 官方已经有预编译好的DLL下载,如果你不需要特别优化的版本,直接下载官网上的DLL即可。你可以在下载 页面的 “Precompiled Binaries For indows”可以找到。若你想编译出自己的版本,比如添加优化参数后编译,进行一些定制(例如官网这里有一些预编译宏,允许你定制自己的sqlite),那么你就需要自己编译了。首先在下载源代码,如 sqlit原创 2012-08-13 14:52:48 · 1574 阅读 · 1 评论