- 博客(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
556
转载 openssl入门编程
原文地址:http://www.open-open.com/lib/view/open1340107460237.html1、Openssl --RSA加密算法的使用。这两天简单的学习了一下openssl的使用。相关的介绍,可以在网上搜,挺多的。有些容易迷糊的概念,例如加密与身份验证,什么时候用公钥加密,什么时候用私钥。如果学习过密码学,应该很简单理解,我没学过,刚理解了些,赶紧记
2015-05-12 16:05:44
598
转载 linux常用的makefile模版编写
在linux下面,我们不得不自己写makefile,makefile的确博大精深,但是实际上对于日常的使用来说,无非就是1:编译可执行程序。2:编译lib库 3:编译so库本博针对上面三种目的各自写出了makefile模版,希望对大家有所帮助。一.编译可执行程序当前目录下制定文件编译成可执行文件(连接外部库的话只需要更改INC和LIB即可)CXX = g++TARGET
2015-05-11 16:18:26
426
转载 MFC文件读写之ini文件
什么是ini文件?initialization File,即为初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置。或者作为项目中的配置文件,为整个项目所共用。文件格式为 节、键、值。其中节为[Section name], 参数为 key(键)=value(值)。ini文件中注解使用分号表示(;),在分号后面的文字,直到该行结尾都全部为注
2015-05-06 16:28:50
902
转载 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h
错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束。没有找到预编译指示信息的头文件"stdafx.h"。 (因为工程中的每个cpp文件属性默
2015-05-06 09:33:49
458
转载 学习笔记:神秘的 IOCP 完成端口
【什么是IOCP】是WINDOWS系统的一个内核对象。通过此对象,应用程序可以获得异步IO的完成通知。这里有几个角色:角色1:异步IO请求者线程。简单的说,就是调用WSAxxx()函数(例如函数WSARecv,WSASend)的某个线程。 由于是“异步”的,当角色1线程看到WSAxxx()函数返回时,它并不能知道本次IO是否真的完成了。
2015-01-13 20:30:56
510
转载 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
595
转载 Log4cpp介绍及使用
原文:http://blog.youkuaiyun.com/kingskyleader/article/details/7320826Log4cpp是一个开源的C++类库,它提供了在C++程序中使用日志和跟踪调试的功能。使用log4cpp,可以很便利地将日志或者跟踪调试信息写入字符流、内存字符串队列、文件、回滚文件、调试器、Windows日志、本地syslog和远程syslog服务器中。1、Log4c
2014-12-20 11:52:38
716
转载 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
401
转载 深入理解CRITICAL_SECTION
原文链接:http://www.cnblogs.com/dirichlet/archive/2011/03/16/1986251.html临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时,对 Windows 中临界区的深刻理解非常有用。本文深入研究临界区的原理,以揭示在查找死锁和确认
2014-12-10 11:45:04
1478
转载 内存池】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
1537
转载 std:string跨模块出错的问题
当我从客户端调用DLL返回一个std::string的时候,发现当调用结束后,程序出现错误,后来在网搜索发现,原来是客户端与DLL端使用的是不一样的运行期库。最后将两个工程全部选择project->Setting-->Use run time library, Debug Multithreaded Dll。 这样就可以保证客户端与DLL端使用是同一样的运行期库,std::strin
2014-01-03 17:57:29
870
转载 关于DLL搜索路径的顺序问题
作者:朱金灿来源:http://www.cnblogs.com/clever101 DLL的动态链接有两种方法。一种是加载时动态链接(Load_time dynamic linking)。Windows搜索要装入的DLL时,按以下顺序:应用程序所在目录→当前目录→Windows SYSTEM目录→Windows目录→PATH环境变量指定的路径。
2014-01-03 17:44:30
667
转载 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
818
转载 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
481
转载 如何检测内存泄漏——重载new和delete
正文: 我曾经参与过一个比较大的项目,在这个项目里面,我们没有一个完全确定的设计文档,所以程序的实现常常变动。虽然我们有一个比较灵活的框架,但是从程序的角度来讲,它使我们的程序非常的混乱。直到发布的日期临近,我们还没有一个稳定的可以用来做alpha测试的版本。所以我们必须尽快的删除掉无用的代码,让这个版本足够的稳定。但是,在这个没有足够规范的软件公司,我们没有时间也没有足够的精力来做边界测试之
2013-09-10 11:04:30
737
转载 程序在main函数之前做了什么
原文链接:http://blog.tianya.cn/blogger/post_read.asp?BlogID=3928185&PostID=38621838main函数之前--真正的函数执行入口或开始 一种解释 实际上,在可执行文件被加载之后,控制权立即交给由编译器插入的Start函数,它将对后面这些全局变量进行准备: _osver 操作系统的构件编号
2013-06-03 21:17:38
808
转载 内存池的实现(一)
原文链接:http://www.cnblogs.com/bangerlee/archive/2011/08/31/2161421.html引言C/C++下内存管理是让几乎每一个程序员头疼的问题,分配足够的内存、追踪内存的分配、在不需要的时候释放内存——这个任务相当复杂。而直接使用系统调用malloc/free、new/delete进行内存分配和释放,有以下弊端:调用ma
2013-04-09 13:16:20
462
转载 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
523
转载 C++随机数生成方法
本文由青松原创并依GPL-V2及其后续版本发放,转载请注明出处且应包含本行声明。C++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。生成随机数时需要我们指定一个种子,如果在程序内循环,那么下一次生成随机数时调用上一次的结果作为种子。但如果分两次执行程序,那么由于种子相同,生成的“随机数”也是相同的。在工程
2013-03-12 21:52:07
538
转载 指针函数与函数指针的区别
原文地址:http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符
2013-02-24 16:26:34
298
转载 符号文件——Windows 应用程序调试必备
原文链接:http://www.vckbase.com/index.php/wv/1418 一、何谓符号文件? 符号文件(Symbol Files)是一个数据信息文件,它包含了应用程序二进制文件(比如:EXE、DLL等)调试信息,专门用来作调试之用,最终生成的可执行文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中。所以调试应用程序时,这个文件是非常重要的。
2012-12-03 22:13:47
437
转载 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
348
转载 关于Windows中的系统消息循环占用CPU的疑问
原文地址:点击打开链接 曾有这样的疑问,为什么很多资料中都有关于windows中的While(getmessage(&msg,Null,0,0)){..}消息循环不占用CPU的说法?今天特有关此事查了一下资料,原来是这样子啊! 说,其实这里的while(){}循环是占用cpu的,只是getmessage()是一个阻塞型的函数,当消息队列中没有消息时,它会检查确认,当确认消
2012-11-01 22:55:22
1771
转载 c++空指针的定义-0L
曾经看过有的.h文件将NULL定义为0L,为什么? 答案与分析: 这是一个关于空指针宏定义的问题。指针在C语言中是经常使用的,有时需要将一个指针置为空指针,例如在指针变量初始化的时候。C语言中的空指针和Pascal或者Lisp语言中的NIL具有相同的地位。
2011-09-14 14:03:32
6125
转载 socket编程之完成端口(附一个简单的IOCP例子)
“完成端口”模型是迄今为止最为复杂的—种I/O模型。然而。假若—个应用程序同时需要管理为数众多的套接字,那么采用这种模型。往往可以达到最佳的系统性能,然而不幸的是,该模型只适用于以下操作系统(微软的):Windows NT和Windows 2000操作系统。因其设计的复杂性,只有在你的应用程序需要同时管理数百乃至上千个套接字的时候、而且希望随着系统内安装的CPU数量的增多、应用程序的性能也可以线性
2011-06-17 17:49:00
4216
转载 在C++中实现属性(2)
要使Count属性能成功工作,必须先在PropTest的构造函数里面对其进行初始化。 class PropTest{public: PropTest() { Count.setContainer(this); Count.setter(&PropTest::setCount); Count.getter(&PropT
2011-06-16 16:21:00
473
转载 在C++中实现属性(1)
详述我们首先看一下什么是属性。一个属性表现为一个字段或者成员变量,但它通过read和write方法或者get和set方法暗中操作变量。 例如,若存在类A和它的属性Count,我可以写如下的代码: A foo; Cout 实际上Count调用它的get函数返回当前的变量值。你可以将属性定为只读(你可以读取它但不能修改它)、只写或者可读写,这就是使用属性而不直接使用变量的的一
2011-06-16 16:20:00
398
转载 tinyxml使用笔记与总结
tinyxml使用笔记与总结 在TinyXML中,根据XML的各种元素来定义了一些类: TiXmlBase:整个TinyXML模型的基类。 TiXmlAttribute:对应于XML中的元素的属性。 TiXmlNode:对应于DOM结构中的节点。 TiXmlComment:对应于XML中的注释。 TiXmlDeclaration
2011-06-15 23:14:00
549
转载 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
2491
1
转载 [转]在C++中,内存分成5个区——堆、栈、自由存储区、全局/静态存储区和常量存储区
C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
2011-05-11 22:36:00
667
原创 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
626
转载 C/C++位结构(位域)[转]
位域 : <br />有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:
2011-04-20 11:41:00
793
转载 .位域与共用体
<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
479
转载 C|C++中的静态全局变量,静态局部变量,全局变量,局部变量的区别
<br />声明:本文章来自Touch Light博客,Bob在此感谢hetao625的精彩文章。<br />static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 <br />面向过程设计中的static <br />全局变量、局部变量、静态全局变量、静态局部变量的区别 <br />C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,
2011-04-11 15:15:00
438
转载 结构体内嵌联合体的内存占用
定义下面这样的结构体: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
1452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人