
C/C++
lyserver
蜀国曾闻子规啼,宣城还见杜鹃花,一叫一回肠一断,三春三月忆三巴。
展开
-
一个更为简单易用的THUNK类
利用THUNK技术回调类成员函数,是一项前几年很热门的技术,网上的资料和示例代码也很多,但这些代码普遍存在一些差强人意的地方,要么缺乏通用性,需要针对不同的回调函数作调整,要么使用起来不方便,需要在应用代码里写上三、四行以上不相关(甚至有些莫名其妙)的代码或宏,不便于代码的阅读和维护。 针对这些缺点,我编写了一个更为简单易用的使用THUNK技术的回调函数类,类代码和示例如下:原创 2008-09-29 13:20:00 · 1140 阅读 · 1 评论 -
一个VC读写刷卡器的例子
这个程序是2006年编写的,用来读写金诚信刷卡器,提供了IDispatch接口,可以在VB或网页中使中。 由于这是我第一次用VC写程序,所以程序流程和注释不太详细,不过代码很简单,对希望利用VC读写串口的朋友有一定帮助。 一、接口文件:import "oaidl.idl";import "ocidl.idl"; [ object, uuid(9D原创 2008-10-01 11:42:00 · 2331 阅读 · 0 评论 -
用C++ SDK实现动态数组类
C++ SDK没有直接提供动态数组功能,虽然可以使用MFC的CArray类,或者用指针+new来实现,但前者需要MFC库,后者使用时不易理解且运行效率低,为此,我把很久前自己写的一个简单的动态数组类贴出来,希望给一些朋友启发。 代码说明:本类在数组成员的赋值和内存分配上作了优化,对大数组的性能有明显提高。 使用方法:将代码复制到头文件CMyArray.h文件原创 2012-09-16 14:15:02 · 1813 阅读 · 1 评论 -
InterlockedIncrement和InterlockedDecrement的妙用
一般来说,在多用户线程环境中,我们使用临界区、事件对象甚至互斥量来进行同步,尤其是临界区,可以很方便地对某些变量甚至代码块进行锁定执行,防止多线程之间资源恶性抢夺。既然如此,为啥微软又单独提供了专用于一个数值锁定计算的API函数InterlockedIncrement和InterlockedDecrement呢?他们又有什么特殊作用呢? 恰好近段时间写了一个这方面的应用,帮我加深了对原创 2010-02-04 18:17:00 · 2802 阅读 · 5 评论 -
一个可以定时结束的弹出对话框类
没啥说的,一个简单的可以定时结束的类://定时结束的弹出对话框类class MsgBox : public CThunkBase{public: MsgBox(char* strPrompt, char* strTitle, DWORD dwMilliseconds = 2000) { strcpy(m_strPrompt, strPrompt); st原创 2008-09-29 18:11:00 · 1249 阅读 · 0 评论 -
VC如何将资源中包含的位图释放成文件
前两天一个朋友叫我帮他写一段代码,想把资源中包含的图片释放成磁盘文件,我想这个应该很简单啊,于是便写了如下函数:BOOL FreeSource_1(LPCTSTR pszResName,LPCTSTR pszResType,LPCTSTR szFileName){ BOOL bRet = TRUE; HINSTANCE hInst = GetModuleHandle(NUL原创 2008-09-03 16:25:00 · 3338 阅读 · 1 评论 -
在Linux下用C语言实现短信收发
去年在博客里发这个贴时,只将主程序代码贴了出来,导致信息不完整,让读者根本无法进行实验。为此,现将全部代码贴出来,为想在linux下开发基于短信猫的短信收发程序的朋友提供一点参考。 首先,我根据功能需要创建了几个头文件,一个是stringex.h,包含一些字符串辅助函数;一个是inifile.h,包含读写类似windows环境下ini文件的函数;一个是daemon.h,包含创建l原创 2008-10-01 12:55:00 · 7554 阅读 · 4 评论