C++
Frank-Lee
ITer
展开
-
基于jwSMTP的C++发送Email的Demo
http://blog.csdn.net/generalhking/article/details/8111309转载 2013-06-08 15:19:44 · 757 阅读 · 0 评论 -
C++的异常处理
一、什么是异常处理 一句话:异常处理就是处理程序中的错误。二、为什么需要异常处理,以及异常处理的基本思想 C++之父Bjarne Stroustrup在《The C++ Programming Language》中讲到:一个库的作者可以检测出发生了运行时错误,但一般不知道怎样去处理它们(因为和用户具体的应用有关);另一方面,库的用户知道怎样处理这些错转载 2013-06-21 10:51:03 · 603 阅读 · 0 评论 -
C++获得当前执行代码在源文件的文件名
使用宏定义:cout原创 2013-06-07 15:05:35 · 1349 阅读 · 0 评论 -
C++获得当前执行代码在源文件中的行号
使用宏定义:cout原创 2013-06-07 14:35:44 · 1502 阅读 · 0 评论 -
log4cpuls在vc2010上编译的问题
安装原文:http://blog.csdn.net/eclipser1987/article/details/6904301例子:[cpp] view plaincopy#include #include using namespace log4cplus; int m转载 2013-06-06 16:52:49 · 774 阅读 · 0 评论 -
Microsoft Visual Studio 2010下log4cplus的安装,集成,测试
log4cplus是C++编写的开源的日志系统,功能非常全面,用到自己开发的工程中会比较专业的,:),本文介绍了log4cplus基本概念,以及如何安装,配置。 ### 简介 ###log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、转载 2013-06-06 16:34:57 · 668 阅读 · 0 评论 -
多线程通信——互斥量
类似于临界段,互斥量能够保证对单个资源的互斥访问,互斥量包含一个使用数量、一个线程ID、一个递归计数器。//创建互斥量HANDLE CreateMutex(PSECURITY_ATTRIBUTES psa,BOOL fInitialOwner, PCTSTR pszName);//获得它自己进程与现有互斥量相关的句柄HANDLE OpenMutex(DWORD fdwAcces原创 2013-06-05 20:36:03 · 658 阅读 · 0 评论 -
多线程通信——信号量
当当前资源的数量大于0的时候,等待信号量的线程可以获得一个资源并继续执行,信号量的当前资源数量将减1,如果当前资源的数量为0,则等待信号量的线程将处于等待状态,直到有线程释放信号量,使信号量标识的资源数量大于0HANDLE CreateSemaphore( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount,原创 2013-06-05 20:55:05 · 716 阅读 · 0 评论 -
多线程通信——事件
一共有两种不同的事件对象,分别是:人工重置事件:得到通知时,等待该事件的所有线程都变为可调度线程自动完成事件:得到通知时,等待该事件的所有线程只有一个变为可调度线程相关函数主要包括:HANDLE CreateEvent(PSECURITY_ATTRIBUTES psa, //安全性参数BOOL fManualReset, /原创 2013-06-05 19:55:23 · 848 阅读 · 0 评论 -
多线程通信——等待函数
当进程或者线程正在执行的时候,进程内核对象处于未通知的状态,当进程终止的时候,它就变成已通知状态。线程可以使自己进入等待状态,直到一个对象变成已通知状态,可以通过等待函数还实现。DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMilliseconds);第一个参数是要等待的内核对象第二个参数是为了等该对象变为已通知状态需要等待多原创 2013-06-05 15:35:09 · 827 阅读 · 0 评论 -
多线程通信——临界段
//首先定义临界段对象 CRITICAL_SECTION cs; //初始化临界段对象 InitializeCriticalSection(&cs); //在使用的时候先进入临界段 EnterCriticalSection(&cs); ///在此添加你的处理 //当你使用完的时候,离开临近段 LeaveCriticalSection(&cs); //不再需要临界段的时原创 2013-06-05 15:07:45 · 602 阅读 · 0 评论 -
多线程通信——互锁函数
long globalVar = 0;//Global value for testingDWORD WINAPI ThreadFuncInterlock1(PVOID pParam){ InterlockedExchangeAdd(&globalVar, 1); cout << globalVar <<endl; //globalVar++; return 0;}DWORD W原创 2013-06-05 14:59:07 · 969 阅读 · 0 评论 -
C++按日期写日志文件,每天单独一个日志文件
项目业务需要实现用C++最基本的流对象实现按照日期写日志文件我的思路是单独开一个线程,监控系统的时间,当等到零点的时候关闭当前流和文件的关联,然后创建新的文件,继续写日志代码如下:DWORD WINAPI MonitorTime(PVOID pParam){ time_t sttime; struct tm * tim; while (1) { time(&sttime)原创 2013-06-05 14:35:36 · 3361 阅读 · 0 评论 -
windbg检测句柄泄露(可定位到具体代码)
1、用c++写一个句柄泄露的样例程序:#include "stdafx.h"#include void fun1(void);void fun2(void);void fun3(void);void fun4(void);int main(int argc, char* argv[]){while(1){fun1();fun2();转载 2013-07-10 15:00:51 · 627 阅读 · 0 评论