- 博客(24)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
转载 WINDOWS下读写锁
//最近看到了非常好的一篇WINDOWS读写锁的代码,无论类的设计上还是锁的逻辑实现上都很不错。。。RWLockImpl.h01.#ifndef _RWLockImpl_Header02.#define _RWLockImpl_Header03.08.09.using namespace std;10.11./*12. 读写锁允许当前的多
2014-08-26 17:58:05 452
转载 C++使用共享内存实现进程间通信
文件映射是一种实现进程间单向或双向通信的机制。它允许两个或多个本地进程间相互通信。为了共享文件或内存,所有的进程必须使用相同的文件映射的名字或是句柄。 为了实现共享文件,第一个进程先调用CreateFile方法。接下来调用CreateFileMapping方法来创建一个文件映射对象。并为文件映射指明一个句柄和名称。由于事件,信号,互斥对象和文件映射等这些内核对象都共享同一个名字空间,所以如果
2014-08-26 15:05:55 648
转载 汇编语言基础之七- 框架指针的省略(FPO)
框架指针省略(Frame Pointer Omission)(FPO)FPO是一种优化,它压缩或者省略了在栈上为该函数创建框架指针的过程。这个选项加速了函数调用,因为不需要建立和移除框架指针(ESP,EBP)了。同时,它还解放出了一个寄存器,用来存储使用频率较高的变量。只在IntelCPU的架构上才有这种优化。目前已经讨论过的任何一种调用约定都保存了前一函数中栈的信息(压栈ebp,然后
2014-08-25 18:18:41 371
转载 svn代码回滚命令
1,svn up -r versionNo 取消对代码的修改分为两种情况: 第一种情况:改动没有被提交(commit)。这种情况下,使用svn revert就能取消之前的修改。svn revert用法如下:# svn revert [-R] something其中something可以是(目录或文件的)相对路径也可以
2014-08-21 21:23:00 219
转载 如何在批处理中调用多个批处理?
如何在一个批处理中调用多个批处理呢?call 1.batcall 2.batcall 3.batcall …….bat这样是不行的。哪位高手指点一下,该如何实现呢?把CALL改成start不过这样会打开新的CMD窗口,你也可以给start加个/B就可以在同一窗口打开其它的P处理
2014-08-21 18:45:31 1533
转载 批处理定时自动更新SVN
在这次开发项目过程中,团队中总是有人忘记更新代码,导致代码不同步等问题的出现,人为的去做每一件重复的工作,是容易出现这样那样的问题,如果我们把重复的工作做成模板,是不是就好多了呢。 那我们就把这项工作交给我们人见人爱的电脑来完成把,“每天上班前自动更新代码”总共分为两个部分第一步是 " 更新SVN " 可以使用 TortoiseProc.exe 工具来完成,第二步是使用系统计划任务
2014-08-21 18:37:16 265
转载 批处理命令 For循环命令详解!
批处理for命令详解FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能!看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)FOR 参数 %%变量名 IN (相关文件或命令) DO 执行的命令参数:FOR有4个参数 /d /l /r /f 他们的作用我在下面用例子解释%%变量名 :这个变量名可以是小写a-z或者大写A-Z,他们区分大小写,FO
2014-08-21 18:35:38 439
转载 C++多线程之使用Mutex和Critical_Section
Mutex和Critical Section都是主要用于限制多线程(Multithread)对全局或共享的变量、对象或内存空间的访问。下面是其主要的异同点(不同的地方用绿色表示)。 MutexCritical Section性能和速度慢。Mutex 是内核对象,相关函数的执行 (WaitForSingl
2014-08-20 09:39:19 288
转载 c++删除文件夹
转自:http://blog.csdn.net/sshhbb/archive/2010/12/07/6061029.aspx c++语言本身是不能删除文件或文件夹的,他们是windows操作系统里的东西,所以得借助其api函数。其一:使用shell 接口:void FileDelete(CString directory){ SHFILEOPSTRUCT
2014-08-19 18:05:16 442
转载 #pragma warning 用法(转)
该指令允许有选择性的修改编译器的警告消息的行为指令格式如下:#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-number-list...]#pragma warning( push[ ,n ] )#pragma warning( pop )主要用到的警
2014-08-18 15:13:39 504
转载 VS中的 MD/MT设置
VS系列工具作为目前微软主打的集成开发环境,在历经了近20多年的发展后,到如今已经可以说是Windows平台上各种IDE环境中的翘楚了。很多别的开发工具已经难望其项背了,如今VS2010也已经面市很长时间了,但是因为笔者囊中羞涩,无法升级硬件,所以也没有办法去进行那个180天的VS2010体验之旅了,实为憾事。当然这是别话,现在我主要使用的依然是VS2008,用它来开发我想要的东西。当然主要指使用
2014-08-18 14:33:40 347
转载 boost正则表达式(zz)
什么是正则表达式?正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express. 如果您不知道什么是正则表达式,请看这篇文章:深入浅出之正则表达式 有了正则表达式的基础,问题是如何使用。我们以boost::regex来说 先看一个网上经典的例子。 #include "stdafx.h"#include #include
2014-08-18 13:30:43 260
转载 常用的正则表达式和实例
则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}匹配空行的正则表达式:\n[\s| ]*
2014-08-18 11:19:06 187
转载 vc++MCF/C++/C中怎样让应用程序获得或以管理员权限运行 ,ShellExecuteEX编程 --- 获取管理员权限
ShellExecuteEX编程 --- 获取管理员权限:http://blog.csdn.net/jhui163/article/details/5873027怎样让你的应用程序获得管理员权限:就是在运行开发工具如vc6.0 或vs2010时,要以管理员身份运行,这样你的应用程序才可以继承http://bbs.csdn.net/topics/390262991解决:在vs2010
2014-08-18 10:53:29 426
转载 VC程序在win7系统上运行,自动获取管理员权限
在win7 上运行程序,经常需要管理员权限,如何让自己编写的程序启动的时候获取管理员权限呢?方法如下: 1: 在VS2010中,可以参考《VS2010与Win7共舞:UAC与数据重定向》这篇文章,为了方便,这里复制过来: 禁用UAC Virtualization 凡事都没有绝对。如果因为一些特殊的要求(众所周知,客户的要求千奇百怪,无奇不有),我
2014-08-18 10:50:05 539
转载 VC++下编译出极小的程序
昨天做了个telnet后门程序玩, 既然是后门嘛,自然是越小越好.可是我的VC9编译一个HelloWorld都有50K+... 动态链接到MSVCRT90.dll倒是小下来了,但是得背上一个更变态的dll(600多k) 而这个msvcrt90.dll就是我的vista sp1也不是自带的.更不便于程序的部署. 最后自己去查了查资料终于编译出体积比较满意的exe,步骤如下: 1.
2014-08-17 15:14:09 451
转载 使用USES_CONVERSION
首先,先介绍下USES_CONVERSION为何物。USES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。通俗的说,就是你用了这个宏后,就可以用一系列的字符串转换宏,有OLE到T,T到OLE,OLE到W,W到OLE等等,非常方便。或者说,这个宏会告诉编译器,在紧接的代码中我们要用ole库中代码(如ansi 到unicode
2014-08-15 16:09:07 357
转载 Tinyxml读写xml(二)
tinyXML一款很优秀的操作C++类库,文件不大,但方法很丰富,和apache的Dom4j可以披靡啊!习惯了使用java类库的我看到这么丰富的c++类库,很高兴!它使用很简单,只需要拷贝几个文件到你的工程中,没有STL也可以编译运行。 下面我从这几个方面谈谈对tinyXML类库的使用以及理解。 首先在sourceforge上下载tinyXML类库,地址:h
2014-08-15 11:17:45 506
转载 Tinyxml读写xml(一)
TinyXml是一个基于DOM模型的、非验证的轻量级C++解释器, 用来读写配置文件是最好的,可从http://www.grinninglizard.com/tinyxml/index.html这里下载。构建TinyXML 时可以选择是否支持STL, 一般建议选择支持STL。TinyXml的源码包里提供了VC6的工程文件,直接用它就可以生成静态库。然后把tinyxml.h, tinystr.h
2014-08-15 11:15:59 364
转载 Win32对话框
//模态对话框在要显示对话框的地方:DialogBox(hInstance,//实力句柄 MAKEINTRESOURCE(IDD_DIALOG1),//对话框资源ID hWnd,//父窗口句柄 DlgProc);//处理的窗口过程函数//窗口处理过程函数BOOL CALLBACK DlgProc (HWND hDlg, UINT message,WPARAM
2014-08-14 11:57:04 426
转载 CALLBACK\PASCAL等各种调用约定
#define CALLBACK __stdcall #define WINAPI __stdcall #define WINAPIV __cdecl #define APIENTRY WINAPI #define APIPRIVATE __std
2014-08-13 18:19:57 929
转载 定时器:SetTimer与timeSetEvent
timeSetEvent:回调函数周期性时间应该和定时器差不多吧!比如MMRESULT timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, DWORD dwUser, UINT fuEvent
2014-08-13 16:52:39 1532
转载 PostEvent详解
PostEvent函数作用:在事件队列最后追加指定的事件。函数Triggerevent是在事件队列的当前位置插入指定的事件。所以,这两个函数是有区别的。事件立即执行时使用函数TriggerEvent,没有必要立即执行时使用函数PostEvent。两者都是触发指定的事件,这是它们功能上的类似点。函数语法: objectname.PostEvent ( event, { word, long
2014-08-07 10:26:39 1778 1
转载 PeekMessage
这是个带有Window的线程比较常用的等待一段时间的做法。从这个函数的名字,很明显,这个线程想歇段时间。最简单的方法当然是Sleep(milliseconds);但是这回阻塞这个Thread的Message Queue的Enque。如果别的程序或者线程向这个Thread发个Message,就死等了。比如一个简单的GetWindowText就不动了,你如果用Task Manager看,这个窗口就会显
2014-08-01 16:41:02 583
新浪页游助手中游戏加速怎么实现的?
2014-07-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人