vs2008使用mysql链接错误
摘要:原因是因为安装了64位的mysql,而开发工具室32位的,需要安装32位的开发库就可以了
阅读全文
Doxygen + Graphviz windows下安装配置(图解)
摘要:查看一些开源代码经常被一些函数的调用关系给绕进去,经过网上查阅资料,发现了这个好用的方法,拿出来和大家分享下安装和应用的过程。本人常用windows系统,所以主要讲解下windows下相关的内容要使用doxygen生成漂亮的调用关系图,那就必须安装下图形生成工具graphviz软件,要通过html生...
阅读全文
server 2008 64位安装Rational错误
摘要:Administrator has detected that this is a terminal server session.Administrator does not support running in this environment. Click OK to exit.解决办法htt...
阅读全文
Linux下Nagios的安装与配置
摘要:一、Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。 Nagios原名为NetSa...
阅读全文
标准C++中的string类的用法总结
摘要:要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。string和wstring的用法是一样的,以下只用string作介绍:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数
阅读全文
利用批处理结合Msbuild实现快速编译
摘要:我们经常在用vs2005做项目的时候会把一个项目分成几个模块(不管是对于功能上,还是系统构架上面),为的是以后部署,还有修改维护时候的方便。这样就会带来一个问题,随着模块的增加(这里所说得每个模块就是指每个项目),我们如果依赖IDE的话,每次都得从源代码管理器读取最新得版本,进行编译。然而IDE加载得时候会加载很多必须得文件,这样就大大浪费了时间。再有就是我们不能一次都把这些项目都编译了。我们不得不重复着打开编译这样的顺序。这里也许大家会想到nant,但是nant不支持.net2.0(听说是被微软收购了...)不管怎样MS给我们提供了具有同样功能的工具:MSBuild ,该工具位于:(前提是装
阅读全文
谨慎使用#pragma pack
摘要:前段时间将一个项目由vc6.0转为vs2005,发现了有些对象的地址奇怪变化的问题,细查之下发现出现了#pragma pack乱用的问题,在恢复内存对齐使用了#pragma pack(pop, 1)的错误,估计程序设计者最初没有注意到这个问题,不过很奇怪的是vc6.0却没有出现这个问题,总结一下#pragma pack使用的规范,避免以后乱用。#pragma pack作用:指定结构体、联合以及类成员的packing alignment;语法:#pragmapack( [show] | [push | pop] [, identifier], n )说明:1, pack提供数据声明级别的控制,对
阅读全文
frame、window和dialog区别
摘要:属性WindowFrameDialog模式化不是不是不是(可设置)可调大小不可可可标题栏无有有边界无有有标题无有有菜单栏无有无焦点管理器有有有警告字符串有有有图表无 有无 定位到框架可不可可
阅读全文
wxWidgets窗口类型
摘要:如果在创建窗口的时候你没有指定窗口的边框类型,那么在不同的平台上将会有不同的边框类型的缺省值。在windows平台上,控件边框的缺省值为 wxSUNKEN_BORDER,意为使用当前系统风格的边框。你可以使用类似wxNO_BORDER这样的值来覆盖系统的默认值。wxSIMPLE_BORDER在窗口周围显示一个瘦边框.wxDOUBLE_BORDER显示一个双层边框.wxSUNKEN_BORDER显示一个凹陷的边框,或者使用当前窗口风格设置.wxRAISED_BORDER显示一个凸起的边框.wxSTATIC_BORDER显示一个适合静态控件的边框. 只支持Windows平台.wxNO_BORDER
阅读全文
C++中类与结构体的区别
摘要:相信有一点专业知识的人都知道,C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。在很大程度上,标准C++是标准C的超集。实际上,所有C程序也是C++程序,然而,两者之间有少量区别。下面是最重要的区别:结构是C的一部分,C++从C中继承了结构,在语法上,类与结构十分相似,在关系上,这两者也很接近,在C++中,结构的作用被拓宽了,进而使结构成为了类的一种替代方法。实际上,类与结构的惟一区别在于:在默认状态下,结构的所有成员均是公有的,而类的所有成员是私有的。除此之外,类与结构是等价的,也就是说,一个结构定义了一个类的类型。C++同时包含这两个等价的关键字struct与c
阅读全文
c++中explicit关键字用法
摘要:C++ explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示: 1 #include "stdafx.h" 2 3 class A 4 { 5 public: 6 A(int n) {m = n;} 7 private: 8 int m; 9 };10 11 int _tmain(int argc, _TCHAR* ar
阅读全文
解决error C2011: 'fd_set' : 'struct' type redefinition的方法
摘要:首先说明这个问题由于重复定义引起的编译错误。先说明解决方法,然后再说是什么原因导致了这个问题。解决方法:下列任何一种方法都可以。1. 在所有包含windows.h的代码之前加上#define WIN32_LEAN_AND_MEAN2. 或者直接在工程的properties( vc6 以上)/Setting(vc6) -> c/c++ -> preprocessor 中添加WIN32_LEAN_AND_MEAN问题根由:因为windows.h中包含了<winsock.h>,这个是早期版本(windows socket 1.1)的windows socket 的头文件,而当
阅读全文
jrtplib源码分析 第一篇 jthread的编译与分析
摘要:第一篇 jthread的编译与分析jrtplib代码依赖库jthread,因此先从jthread开始jrtplib的学习。首先从以下链接下载jthread的源代码http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthreadjthread当前最新的版本是1.3.1,因为我的开发环境是windows,因此下载zip压缩包并解压。jthread的设计目的是能够跨系统使用线程的代码,jthread的使用代码作者在使用手册里已做了简单的说明。解压后看到jthread的代码结构其实很简单,主要实现jthread、JMutex、JMute
阅读全文
详解大端模式和小端模式
摘要:一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必须先打破鸡蛋较小的一端,违令者重罚。然后老百姓对此法令极为反感,期间发生了多次叛乱,其中一个皇帝因此送命,另一个丢了王位,产生叛乱的原因就是另一个国家Blefuscu的国王大臣煽动起来的,叛乱平息后,就逃到这个帝...
阅读全文
自己写的一个线程控制类
摘要:1 #pragma once 2 #include <Windows.h> 3 4 typedef enum THREAD_STATUS 5 { 6 THREAD_RUN = 1, 7 THREAD_PAUSE = 2, 8 THREAD_STOP = 3, 9 }THREAD_STATUS;10 11 class CThread12 {13 public:14 CThread(void);15 ~CThread(void);16 17 //创建线程18 virtual long create(LPTHREAD...
阅读全文
实现windows下屏幕指定区域截图功能
摘要:1 #ifndef AZ_PRINTSCREEN_H 2 #define AZ_PRINTSCREEN_H 3 4 #define WIN32API __declspec(dllexport) 5 6 /*********************************************************************************************** 7 *函数名 : AZ_PRINTSCREEN_GetScreenRGB 8 *函数功能描述 : 获取屏幕指定位置图像为RGB数据 9 *函数参数 : (I)nx-开始位置x 10...
阅读全文
实现内存抓图
摘要:1 int nHeight = rc.Height(); 2 int nWidth = 0; 3 //截图宽度必须为4的倍数 4 if (rc.Width()%4) 5 { 6 nWidth = (rc.Width()/4+1)*4; 7 } 8 else 9 {10 nWidth = rc.Width();11 }12 *height = nHeight;13 *width = nWidth;14 15 HWND hWnd = ::GetDesktopWindow();...
阅读全文
CBitmap,HBitmap,Bitmap区别及联系
摘要:加载一位图,可以使用LoadImage:HANDLE LoadImage(HINSTANCE hinst,LPCTSTR lpszName,UINT uType,int cxDesired,int CyDesired,UINT fuLoad);LoadImage可以用来加载位图,图标和光标加载时可以规定加载图的映射到内存的大小:cxDesired:指定图标或光标的宽度,以像素为单位。如果此参数为零并且参数fuLoad值中LR_DEFAULTSIZE没有被使用,那么函数使用目前的资源宽度。 cyDesired:指定图标或光标的高度,以像素为单位。如果此参数为零并且参数fuLoad值中LR_DEF
阅读全文
代码安全性的基本原则
摘要:基本点:1>指针 使用之前判定是否为空; 删除时注意是否应自己删除,且删除需置空;2>数组 使用下列操作时需做容器个数检查:front(),back(); 使用下列操作时需做数据越界检查: at(i),[i]<建议不要使用下标操作>;3>无符号整型 常见的有UINT, size_t 在给无符号整型赋值时应多注意不能小于0; 赋值操作中,循环中容易出错;切记不要用无符号整形与负数进行比较;4>除0 除数为变量是要做检查是否为0;5>变量初始化 坚持声明时初始化原则;6>double变量比较 与0比较时,注意变量是否是double类型,切记不能直接用
阅读全文
自己写的一个环形缓冲区的c++类,附带测试程序
摘要:CircularBuf.h 1 #ifndef CIRCULAR_BUF_H 2 #define CIRCULAR_BUF_H 3 4 #include <Windows.h> 5 6 #define MULTI_BUF_SIZE 10 7 #define MULTI_MIN_BUF_DATA_SIZE 5 8 9 class CCircularBuf10 {11 public:12 CCircularBuf(void);13 ~CCircularBuf(void);14 15 //...
阅读全文