自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 [MySQL] - MySQL的Grant命令

本文实例,运行于 MySQL 5.0 及以上版本。MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户  一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grant select on testdb.* to common_user@'%'grant insert on testd

2015-05-22 16:32:38 509

转载 openssl入门编程

原文地址:http://www.open-open.com/lib/view/open1340107460237.html1、Openssl --RSA加密算法的使用。这两天简单的学习了一下openssl的使用。相关的介绍,可以在网上搜,挺多的。有些容易迷糊的概念,例如加密与身份验证,什么时候用公钥加密,什么时候用私钥。如果学习过密码学,应该很简单理解,我没学过,刚理解了些,赶紧记

2015-05-12 16:05:44 542

转载 linux常用的makefile模版编写

在linux下面,我们不得不自己写makefile,makefile的确博大精深,但是实际上对于日常的使用来说,无非就是1:编译可执行程序。2:编译lib库 3:编译so库本博针对上面三种目的各自写出了makefile模版,希望对大家有所帮助。一.编译可执行程序当前目录下制定文件编译成可执行文件(连接外部库的话只需要更改INC和LIB即可)CXX = g++TARGET

2015-05-11 16:18:26 385

转载 MFC文件读写之ini文件

什么是ini文件?initialization File,即为初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置。或者作为项目中的配置文件,为整个项目所共用。文件格式为 节、键、值。其中节为[Section name], 参数为 key(键)=value(值)。ini文件中注解使用分号表示(;),在分号后面的文字,直到该行结尾都全部为注

2015-05-06 16:28:50 773

转载 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h

错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?错误分析:    此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束。没有找到预编译指示信息的头文件"stdafx.h"。    (因为工程中的每个cpp文件属性默

2015-05-06 09:33:49 432

转载 学习笔记:神秘的 IOCP 完成端口

【什么是IOCP】是WINDOWS系统的一个内核对象。通过此对象,应用程序可以获得异步IO的完成通知。这里有几个角色:角色1:异步IO请求者线程。简单的说,就是调用WSAxxx()函数(例如函数WSARecv,WSASend)的某个线程。       由于是“异步”的,当角色1线程看到WSAxxx()函数返回时,它并不能知道本次IO是否真的完成了。     

2015-01-13 20:30:56 486

转载 SPServer中线程池实现部分分析

原文链接:http://blog.sina.com.cn/s/blog_67b570090100jsda.html一次偶遇,看到了Half-Sync/Half-async相关论文,提到SPServer,以下它的英文描述:SPServer is a server framework library written on C++ that implements the Half-Sync/Half

2015-01-05 13:50:21 560

转载 Log4cpp介绍及使用

原文:http://blog.csdn.net/kingskyleader/article/details/7320826Log4cpp是一个开源的C++类库,它提供了在C++程序中使用日志和跟踪调试的功能。使用log4cpp,可以很便利地将日志或者跟踪调试信息写入字符流、内存字符串队列、文件、回滚文件、调试器、Windows日志、本地syslog和远程syslog服务器中。1、Log4c

2014-12-20 11:52:38 667

转载 extern "C"的用法解析

原文:http://www.cnblogs.com/rollenholt/archive/2012/03/20/2409046.html1.引言  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向

2014-12-18 14:27:06 364

转载 深入理解CRITICAL_SECTION

原文链接:http://www.cnblogs.com/dirichlet/archive/2011/03/16/1986251.html临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时,对 Windows 中临界区的深刻理解非常有用。本文深入研究临界区的原理,以揭示在查找死锁和确认

2014-12-10 11:45:04 1395

转载 内存池】nedmalloc结构分析

转载自:http://blog.sina.com.cn/s/blog_4119bd830100tqo7.htmlnedmalloc是一个跨平台的高性能多线程内存分配库,很多库都使用它,例如:OGRE.现在我们来看看nedmalloc的实现 (以WIN32部分为例)    位操作小技巧;(1)、获取最低位的出现位置的掩码;x&(-x)(2)、判断值为2的幂:x & (x-

2014-12-10 11:37:19 1461

转载 std:string跨模块出错的问题

当我从客户端调用DLL返回一个std::string的时候,发现当调用结束后,程序出现错误,后来在网搜索发现,原来是客户端与DLL端使用的是不一样的运行期库。最后将两个工程全部选择project->Setting-->Use run time library, Debug Multithreaded Dll。      这样就可以保证客户端与DLL端使用是同一样的运行期库,std::strin

2014-01-03 17:57:29 800

转载 关于DLL搜索路径的顺序问题

作者:朱金灿来源:http://www.cnblogs.com/clever101     DLL的动态链接有两种方法。一种是加载时动态链接(Load_time dynamic linking)。Windows搜索要装入的DLL时,按以下顺序:应用程序所在目录→当前目录→Windows SYSTEM目录→Windows目录→PATH环境变量指定的路径。   

2014-01-03 17:44:30 632

转载 Boost下载安装编译配置使用指南

Boost下载安装编译配置使用指南(含Windows和Linux)——更新于2011/7/19,目前我已对boost的安装和使用有了新的认识,因此也会对两年前写的这篇文章做大幅修改,网上转载版本泛滥,请以本文为准。理论上,本文适用于boost的各个版本,尤其是最新版本1.47.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,V

2013-12-10 17:08:29 761

转载 tinyxml使用笔记与总结

原文地址:http://www.cppblog.com/elva/archive/2008/04/24/47907.html在TinyXML中,根据XML的各种元素来定义了一些类:        TiXmlBase:整个TinyXML模型的基类。        TiXmlAttribute:对应于XML中的元素的属性。        TiXmlNode:对应于DOM结构中的节点。

2013-11-04 19:46:04 459

转载 如何检测内存泄漏——重载new和delete

正文: 我曾经参与过一个比较大的项目,在这个项目里面,我们没有一个完全确定的设计文档,所以程序的实现常常变动。虽然我们有一个比较灵活的框架,但是从程序的角度来讲,它使我们的程序非常的混乱。直到发布的日期临近,我们还没有一个稳定的可以用来做alpha测试的版本。所以我们必须尽快的删除掉无用的代码,让这个版本足够的稳定。但是,在这个没有足够规范的软件公司,我们没有时间也没有足够的精力来做边界测试之

2013-09-10 11:04:30 702

转载 程序在main函数之前做了什么

原文链接:http://blog.tianya.cn/blogger/post_read.asp?BlogID=3928185&PostID=38621838main函数之前--真正的函数执行入口或开始    一种解释    实际上,在可执行文件被加载之后,控制权立即交给由编译器插入的Start函数,它将对后面这些全局变量进行准备:     _osver 操作系统的构件编号

2013-06-03 21:17:38 775

转载 内存池的实现(一)

原文链接:http://www.cnblogs.com/bangerlee/archive/2011/08/31/2161421.html引言C/C++下内存管理是让几乎每一个程序员头疼的问题,分配足够的内存、追踪内存的分配、在不需要的时候释放内存——这个任务相当复杂。而直接使用系统调用malloc/free、new/delete进行内存分配和释放,有以下弊端:调用ma

2013-04-09 13:16:20 429

转载 C++内存分配秘籍—new,malloc,GlobalAlloc详解

原文链接:http://www.cnblogs.com/gaochaooo/archive/2009/09/03/1559764.htmlC++内存分配秘籍—new,malloc,GlobalAlloc详解                                                   _______只为因内存分配而无法入眠的程序员一。关于内存 1、内存分配方式

2013-03-31 15:30:55 499

转载 C++随机数生成方法

本文由青松原创并依GPL-V2及其后续版本发放,转载请注明出处且应包含本行声明。C++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。生成随机数时需要我们指定一个种子,如果在程序内循环,那么下一次生成随机数时调用上一次的结果作为种子。但如果分两次执行程序,那么由于种子相同,生成的“随机数”也是相同的。在工程

2013-03-12 21:52:07 497

转载 指针函数与函数指针的区别

原文地址:http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符

2013-02-24 16:26:34 278

转载 符号文件——Windows 应用程序调试必备

原文链接:http://www.vckbase.com/index.php/wv/1418 一、何谓符号文件? 符号文件(Symbol Files)是一个数据信息文件,它包含了应用程序二进制文件(比如:EXE、DLL等)调试信息,专门用来作调试之用,最终生成的可执行文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中。所以调试应用程序时,这个文件是非常重要的。

2012-12-03 22:13:47 384

转载 C++ Placement New

原文地址:http://hubeihuyanwei.blog.163.com/blog/static/28205284201171722359640/placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。它的原型如下:

2012-12-02 16:55:28 329

转载 关于Windows中的系统消息循环占用CPU的疑问

原文地址:点击打开链接    曾有这样的疑问,为什么很多资料中都有关于windows中的While(getmessage(&msg,Null,0,0)){..}消息循环不占用CPU的说法?今天特有关此事查了一下资料,原来是这样子啊!     说,其实这里的while(){}循环是占用cpu的,只是getmessage()是一个阻塞型的函数,当消息队列中没有消息时,它会检查确认,当确认消

2012-11-01 22:55:22 1679

转载 c++空指针的定义-0L

曾经看过有的.h文件将NULL定义为0L,为什么?  答案与分析:  这是一个关于空指针宏定义的问题。指针在C语言中是经常使用的,有时需要将一个指针置为空指针,例如在指针变量初始化的时候。C语言中的空指针和Pascal或者Lisp语言中的NIL具有相同的地位。

2011-09-14 14:03:32 5973

转载 socket编程之完成端口(附一个简单的IOCP例子)

“完成端口”模型是迄今为止最为复杂的—种I/O模型。然而。假若—个应用程序同时需要管理为数众多的套接字,那么采用这种模型。往往可以达到最佳的系统性能,然而不幸的是,该模型只适用于以下操作系统(微软的):Windows NT和Windows 2000操作系统。因其设计的复杂性,只有在你的应用程序需要同时管理数百乃至上千个套接字的时候、而且希望随着系统内安装的CPU数量的增多、应用程序的性能也可以线性

2011-06-17 17:49:00 4098

转载 在C++中实现属性(2)

要使Count属性能成功工作,必须先在PropTest的构造函数里面对其进行初始化。 class PropTest{public: PropTest() { Count.setContainer(this); Count.setter(&PropTest::setCount); Count.getter(&PropT

2011-06-16 16:21:00 451

转载 在C++中实现属性(1)

详述我们首先看一下什么是属性。一个属性表现为一个字段或者成员变量,但它通过read和write方法或者get和set方法暗中操作变量。  例如,若存在类A和它的属性Count,我可以写如下的代码: A foo; Cout 实际上Count调用它的get函数返回当前的变量值。你可以将属性定为只读(你可以读取它但不能修改它)、只写或者可读写,这就是使用属性而不直接使用变量的的一

2011-06-16 16:20:00 359

转载 tinyxml使用笔记与总结

tinyxml使用笔记与总结 在TinyXML中,根据XML的各种元素来定义了一些类:        TiXmlBase:整个TinyXML模型的基类。        TiXmlAttribute:对应于XML中的元素的属性。        TiXmlNode:对应于DOM结构中的节点。        TiXmlComment:对应于XML中的注释。        TiXmlDeclaration

2011-06-15 23:14:00 527

转载 Base64编码及其作用

Base64 编码

2011-05-23 17:20:00 996

转载 Base64 Encode/Decode C/C++ 实现

<br />const unsigned char Base64Table[64]= <br />{ <br />'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P', <br />'Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f', <br />'g','h','i','j','k','l','m','n','o','p','q','r','s','t','

2011-05-23 17:09:00 2421 1

转载 [转]在C++中,内存分成5个区——堆、栈、自由存储区、全局/静态存储区和常量存储区

C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区

2011-05-11 22:36:00 639

转载 介绍一下MFC对话框工程读取BMP文件并显示的例子

介绍一下MFC对话框工程读取BMP文件并显示的例子

2011-05-10 16:56:00 4341

原创 Visual Assist X 10.6.1830.0最有用的快捷键

<br />vax最有用的几个快捷键:<br />1、Alt + G: 在定义与声明之间互跳。<br />2、Alt + O: 在.h与.cpp之间互跳。(O是字母O,不是数字零)<br />3、Alt + Shift + Q:鼠标定位到函数名上,若是在h文件中,按此快捷键会弹出右键菜单,里面有个选项--创建定义;若是在cpp文件中,则按此快捷键会弹出右键菜单,里面有一个选项--创建声明。 这在定义好接口之后,再来写实现时,配合Alt+O是非常快捷的。当然,这种情况下,鼠标右击与Alt+O配合会更快,嘿嘿。

2011-04-27 16:51:00 611

转载 C/C++位结构(位域)[转]

位域 :   <br />有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:     

2011-04-20 11:41:00 726

转载 .位域与共用体

<br />C语言提供了“位域”或者称为“位段”这种结构体,将一个字节中的二进制位划分为几个部分,每个域有一个域名,可以通过这个域名对对应的位进行操作。其定义域说明和使用语结构体相似,为:<br />struct 位域结构名{<br />       <位域列表><br />};<br />位域列表如下;<br />struct data{<br />       unsigned int a:2;<br />       unsigned int b:3;<br />       unsigned int

2011-04-20 11:29:00 453

转载 C|C++中的静态全局变量,静态局部变量,全局变量,局部变量的区别

<br />声明:本文章来自Touch Light博客,Bob在此感谢hetao625的精彩文章。<br />static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 <br />面向过程设计中的static <br />全局变量、局部变量、静态全局变量、静态局部变量的区别 <br />C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,

2011-04-11 15:15:00 416

转载 结构体内嵌联合体的内存占用

定义下面这样的结构体:struct s {char ch;int i;};然后在主函数中写一句:printf("%d", sizeof(struct s))也就是输出结构体s所占的字节数你觉得输出结果会是多少呢?我们知道,char型占用1个字节,int型占4个字节,那么输出的结果是5吗?答案是否定的。你可以自己试一下,输出结果为8。为什么会这样呢?这是因为编译器为了让程序跑得跟快,减少CPU读取数据的指令周期,对结构体的存储进行了优化。实际

2011-04-04 14:12:00 1400

转载 C++内存对其问题

C++内存对齐

2011-04-04 13:44:00 477

转载 C++类中的常量

C++类中的常量

2011-04-02 10:04:00 489

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除