2015年4月2日

windows下nginx支持php的配置

摘要: 原文参见:http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 阅读全文

posted @ 2015-04-02 16:31 夜曲2005 阅读(94) 评论(0) 推荐(0) 编辑

2014年5月29日

提权操作函数

摘要: DWORD AdjustProcessToken(HANDLE hProcess, LPCTSTR lpPrivilegeName){ HANDLE hToken; TOKEN_PRIVILEGES tp; tp.PrivilegeCount =1; tp.Privileg... 阅读全文

posted @ 2014-05-29 10:48 夜曲2005 阅读(177) 评论(0) 推荐(0) 编辑

2014年2月19日

c++内存中字节对齐问题详解 [ 转载 ]

摘要: c++内存中字节对齐问题详解一、什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问 一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐.其他平台... 阅读全文

posted @ 2014-02-19 11:38 夜曲2005 阅读(153) 评论(0) 推荐(0) 编辑

2014年1月21日

STL 容器效率的对比

摘要: STL常用的三种序列容器vector、list、deque1、vector内部以数组的形式实现,可高效的随机访问每个元素,高效的在末尾添加元素,容量动态增加,中间添加或者删除元素效率低,vector的迭代器在内存重新分配时将失效(它所指向的元素在该操作的前后不再相同)。当把超过capacity()-size()个元素插入vector中时,内存会重新分配,所有的迭代器都将失效;否则,指向当前元素以后的任何元素的迭代器将失效。当删除元素时,指向被删除元素以后的任何元素的迭代器都将失效。2、list内部以链表的形式实现,不能随机访问,在任何地方高效的插入、删除,增加任何元素都不会使迭代器失效。删除元 阅读全文

posted @ 2014-01-21 18:05 夜曲2005 阅读(691) 评论(0) 推荐(0) 编辑

2014年1月20日

C++ 四种类型转换的介绍

摘要: C++标准有四种类型转换,分别是const_cast、static_cast、dynamic_cast和reinterpret_cast需要提醒大家的是:带有转型的设计大部分都是不好的,所以在需要用转型的时候大家可以考虑下尽量采用不转型的方法来替代!1、const_cast去掉类型的const属性,这个应该很好理解,只有这个转型能把const属性去掉比如:Base a;const Base& refA = a;const_cast(refA).DoSomething(); // DoSomething为非const成员函数,需去掉const属性调用2、static_cast、dynam 阅读全文

posted @ 2014-01-20 15:58 夜曲2005 阅读(239) 评论(0) 推荐(0) 编辑

2014年1月17日

Xtreme ToolkitPro的使用

摘要: Xtreme ToolkitPro界面库是基于MFC开发的,是收费界面库,详细资料可以网上搜索,官网地址是http://www.codejock.com/在这里本人下载的是Xtreme ToolkitPro v13.2.1版本,链接地址http://www.oyksoft.com/soft/5437.html,而且是带注册机的用的编译器是vs2008下载完成后解压安装,安装时需要输入序列号,可以用刚刚下载的注册机生成,安装最后会有编译选项设置界面,可以自己自由选择,编译需要花费20分钟左右编译完成后打开vs2008新建工程,MFC下会有Toolkit Pro Application选项,接下来 阅读全文

posted @ 2014-01-17 17:04 夜曲2005 阅读(812) 评论(0) 推荐(0) 编辑

2014年1月8日

C++内存区域分类

摘要: C++中,内存区域共划分为5类1、堆由自己管理内存的分配、释放,通常用new分配内存,delete释放内存,自己在程序中没有释放内存时程序结束时操作系统也会自动回收所有内存,使用时要特别注意2、栈编译器会自动管理内存,通常有局部变量,函数参数等3、自由存储区由malloc分配的内存块,用free释放内存,和堆相似4、常量区存放常量,不允许修改(实际可以用非常规方法修改)5、全局静态区存放全局变量和静态变量堆栈的对比1、频繁的new/delete会使堆容易造成内存碎片,栈不存在这个问题2、堆是向着高地址增长的,栈是向着低地址增长的3、计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈 阅读全文

posted @ 2014-01-08 11:06 夜曲2005 阅读(198) 评论(0) 推荐(0) 编辑

2014年1月3日

static以及const作用

摘要: 很多人对于static及const的作用总是了解不全,包括我自己,现记录下来供大家完善static1、在函数内static变量只初始化一次,多次调用该函数变量会继承上一次的值2、在模块内,静态变量可以被模块内函数访问,不能被模块外的其它函数访问3、在模块内,静态函数可以被模块内的函数调用,不能被模块外的其它函数调用4、类中的static成员变量为类所有实例所共享5、类中的static成员函数为整个类所拥有,没有this指针,只能访问static成员变量另外需要注意的是静态变量和函数都应该定义在cpp文件中,如果定义在头文件,实际上相当于包含该头文件的文件都定义了一份,而不是同一份变量!cons 阅读全文

posted @ 2014-01-03 12:26 夜曲2005 阅读(149) 评论(0) 推荐(0) 编辑

2013年12月27日

用CxImage可以很方便的将HBITMAP转为内存或者文件

摘要: BYTE *pDstBuffer = NULL; long nDstSize = 0;HBITMAP bmp; CxImage image; image.CreateFromHBITMAP(bmp); image.Encode(pDstBuffer, nDstSize, CXIMAGE_FORMAT_BMP); // 转为内存 image.Save("D:\\test.bmp", CXIMAGE_FORMAT_BMP); // 保存为文件 ::DeleteObject(bmp); 阅读全文

posted @ 2013-12-27 10:30 夜曲2005 阅读(265) 评论(0) 推荐(0) 编辑

2013年12月23日

Gdiplus双缓冲绘图

摘要: 1 WNDCLASSEX wcex = {0}; 2 3 wcex.cbSize = sizeof(WNDCLASSEX); 4 wcex.lpszClassName = L"test"; 5 wcex.lpfnWndProc = Test::WndProc; 6 7 RegisterClassEx(&wcex); 8 m_hWnd = ::CreateWindowEx (WS_EX_LEFT, TEXT("test"), NULL, WS_CHILD | BS_OWNERDRAW, 0, 0, 200, 200, hParent, NULL, 阅读全文

posted @ 2013-12-23 16:41 夜曲2005 阅读(1943) 评论(0) 推荐(0) 编辑

导航