自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 不想为了OOP而OOP

设计模块的时候习个人习惯于自顶向下。发现越往下模块越多,这时候习惯用接口类型的容器把不同实现类放到容器中,再根据情况调用接口。看上去好像是用观察者模式来调用实现模块重写的接口函数。一但有了OOP的思想就一发不可收拾。“幻想”着完美的架构,清晰UML,可往往变成了一大堆存放抽...

2015-11-01 22:55:00 142

转载 C语言 X宏

有些时候我们在程序中定义一些错误码时,常常会有一个随之对应的获取错误信息的函数。比如这样:enumErrorCode{ERROR_0,ERROR_1,ERROR_2,ERROR_3};constchar*get_error_info(...

2015-08-22 13:46:00 245

转载 LUA实现串口数据采集与TCP单向透传

前言: LUA在游戏行业使用广泛,尤其是编写一些扩展模块与C语言之间的协调工作。其效率高于其他很多脚本语言,本人从事工业控制方向的软件开发,想让这种脚本语言来适应自己的工作环境,编有了个想法。 为什么是转发而不是串口与网络的双向透传? 测试的时候只有打开方...

2015-05-21 15:53:00 1194

转载 Windows启动新进程

BOOLbRet=FALSE;PROCESS_INFORMATIONpi;STARTUPINFOsi={sizeof(si)};si.dwFlags=STARTF_USESHOWWINDOW;si.wShowWindow=FALSE;...

2015-03-24 21:30:00 361

转载 获取串口缓冲内有多少数据

unix/linuxintlen=0;//缓冲区数据长度if(-1!=ioctl(fd,FIONREAD,&len)){}WindowsDWORD dwErrorFlags=0L;COMSTATComStat;if(ClearComm...

2015-03-24 18:43:00 1278

转载 C语言 字符串分割

1.利用sscaf处理固定长度与分隔符的字符串 #define RAW_STRING "aaa,bbb,ccc,ddd" char szBuf[4][8]= {0}; int ret= 0; ret = sscanf(RAW_STRING,"%[^,],%[^,],%[^...

2015-02-28 10:32:00 209

转载 Windows定时器

利用API函数SetTimer启动定时器,MSDN中原型如下: UINT_PTRWINAPISetTimer(_In_opt_HWNDhWnd,_In_UINT_PTRnIDEvent,_In_UINTuElapse,_In_op...

2014-12-29 00:20:00 103

转载 MFC - 窗口句柄与控件指针的转换

从句柄得到指针 FromHandle(hwnd); 从对象指针得到句柄 pWnd->m_hWnd; 转载于:https://my.oschina.net/mlgb/blo...

2014-12-29 00:08:00 405

转载 MFC - 鼠标经过控件提示标签

/*类中声明成员CToolTipCtrlm_Tip;初始化:m_Tip.Create(this);m_Tip.SetFont(&font);m_Tip.SetDelayTime(200);//设置延迟m_Tip.SetTipTextColor(RGB(0,0,2...

2014-12-29 00:07:00 222

转载 MFC - IP控件的设置和读取

charc_ipBuf[64]={0};wcstombs(c_ipBuf,strIP,strIP.GetLength()*2);//UNICODE字符集时将char转w_char((CIPAddressCtrl*)GetDlgItem(IDC_IP))->SetAdd...

2014-12-29 00:05:00 243

转载 MFC - 中向导创建对话框默认按钮作用

回车触发CDialog::OnOK() Esc和关闭按钮触发CDialog::OnCancel() 转载于:https://my.oschina.net/mlgb/blog/36174...

2014-12-29 00:01:00 203

转载 MFC - 设置字体

staticCFontfont;//不能是局部变量font.CreateFont(22,//nHeight0,//n...

2014-12-28 23:52:00 112

转载 MFC - 控件设置图片

voidReleaseDisplayImg(CDialog*pDlg,intnID){HBITMAPhBitmap=((CStatic*)pDlg->GetDlgItem(nID))->GetBitmap();if(hBitmap)::Delete...

2014-12-28 23:47:00 99

转载 Code - Windows 线程同步

#include<stdio.h>#include<windows.h>#include<process.h>#defineDEFAULT_VALUE100volatileintg_ShareValue=DEFAULT_V...

2014-12-28 23:40:00 67

转载 Code - Windows Overlapped

#include<Windows.h>#include<stdio.h>#defineKB(_byte)(_byte*1024)#defineMB(_byte)(KB(_byte)*1024)#defineGB(_byte)(MB...

2014-12-28 23:38:00 132

转载 Code - Windows PIPE

serverBOOLpipe_main(){char*szPipeName="\\\\.\\pipe\\test";char*write_buf="hello";DWORDdwRealWrite;HANDLEhP...

2014-12-28 23:35:00 83

转载 Code - Windows 共享内存

SERVERintshareMem(){HANDLEhShareMem;LPVOIDpMem;/*MSDN:ReturnvalueIfthefunctionsucceeds,thereturnvalueisahandl...

2014-12-28 23:28:00 92

转载 Code - Windows DLL注入(XP)

#include<stdio.h>#include<windows.h>#include<tlhelp32.h>//CreateToolhelp32Snapshotintmain(intargc,char*argv[]){...

2014-12-28 23:16:00 124

转载 Code - Windows 控制台关闭处理

#include<stdio.h>#include<time.h>#include<setjmp.h>#include<Windows.h>staticjmp_bufg_JmpBuf;staticintg...

2014-12-28 23:08:00 163

转载 C++ 冷语法

#include<iostream>#include<cstring>usingnamespacestd;classmString{public:mString(constchar*buf)//有参构造函数:m_b...

2014-12-28 23:05:00 90

转载 Code - Windows程序自我复制

程序,本质是一个二进制文件,其中包含了平台相关的计算机指令。一个在运行中的程序,被加载到内存中,它在存储介质中的可执行文件通常是不可被修改,但是可以访问其中的内容。由此可以通过拷贝其中的数据,再创建一份一样的二进制文件即可复制一个可执行的文件。demo中的代码省略部分异常处理int...

2014-11-27 12:52:00 203

转载 C++ STL模板类展开后

今天写了一个类有一个成员函数是这样的参数 boolfoo(strings1,list<map<string,string>>recodeset,strings2); 在编...

2014-08-28 08:54:00 210

转载 揭开重叠IO的神秘面纱

0x00 --- 引言 在Windows平台下对文件、外设、管道等IO操作都是通过WIN32的ReadFile、WriteRead函数进行的。 最常用的就是直接读取或写入,完成后返回实际写入、读取的字节大小。 //假设文件句柄hFile存在并有效LPVOIDreadBuf[BUF_...

2014-08-27 08:43:00 346

转载 Linux串口IO模式的一些心得

众所周知,在Linux系统下所有设备都是以文件的形式存在,串口也一样。 通常I/O操作都是有阻塞与非阻塞的两种方式。 其中"超时"这个概念其实是阻塞中的一种处理手段,本质还是属于阻塞的I/O模式. 在Linux中串口的IO操作 本文将它分为三种状态: 阻塞状态 超时状态 非阻...

2014-08-13 21:58:00 261

转载 Windows线程同步内核对象的比较

X86处理器上用户层到内核层的转换要花费600个CPU指令周期 临界区(关键代码段)不是内核对象 但当访问被占用的资源时会使用内核资源 功能同互斥但不可跨进程 (以上引用自:http://www.dewen.org/q/9561) WIN32内核对象都是由HANDLE操控 ...

2014-08-11 10:56:00 87

转载 Code - Windows 设置线程的亲缘性

#include<stdio.h>#include<windows.h>#include<process.h>#include<time.h>unsignedint_stdcallthread_proc(void*arg...

2014-08-06 15:00:00 112

转载 C++ 强货币类型

#ifndefRMB_H_#defineRMB_H_typedefdoubleYuan;typedefunsignedlongCent;classRMB{public: RMB(); RMB(Centcent); RMB(Yuanyuan); RMB...

2014-08-05 20:34:00 363

转载 Code - Windows 堆栈恢复

#include<stdio.h>#include<windows.h>voiddie_recursion(){ staticunsignedlongs=-1; printf("递归%lu次\n",++s); die_recursion();...

2014-08-05 17:10:00 89

转载 防止变量超过上限

intn=0;intmax=100;//通常的做法(省略上下文)if(n>=max){n=0;}n++;//巧妙的做法n%=maxn++ ...

2014-07-30 08:48:00 202

转载 Windows获取CPU编号

voidget_cpu_id(){ charszBuf[256]= {0}; unsignedints1= 0U; unsignedints2= 0U; _asm{ MOVEAX,01H XOREDX,EDX CPUID M...

2014-07-22 08:58:00 253

转载 从for_each开始说起 回调函数与仿函数

#include<iostream>#include<algorithm>usingnamespacestd;//回调函数voidcall_back(charelem){cout<<elem<<endl;}/...

2014-07-14 10:37:00 217

转载 Code - Windows 获取键盘记录

MSDN上有说明 要HOOK同一桌面下的所有进程 则HOOK必须是在一个动态库中 hook.h __declspec(dllexport)voidsetHook();//导出声明__declspec(dllexport)voidunHook();/*LIBRARY HO...

2014-06-24 09:21:00 309

转载 C语言 时间操作

#include<stdio.h>#include<time.h>intmain(){ structtmsTime={0}; structtm*pTime=NULL; time_tlTime=0; chartmp[20];...

2014-06-24 08:57:00 70

转载 MFC - 隐藏对话框的方法

隐藏窗口的方法:在对话框的OnInitDialog() 方法中加入://HidethewindowbodySetWindowPos(&wndNoTopMost,0,0,0,0,SWP_HIDEWINDOW);ModifyStyleEx(WS_EX_APPWI...

2014-06-12 09:31:00 156

转载 Code - Windows查找指定文件

函数名称_findfirst 头文件io.h 函数功能搜索与指定的文件名匹配的第一个实例,成功返回实例句柄,否则返回-1L 函数原型long_findfirst(char*filespec,struct_finddata_t*fileinfo); 函数名称...

2014-06-03 23:16:00 83

转载 位运算规则

与 X&0:X位设置成0 X&1:结果和左操作数一样 或 X|0:结果和左操作数一样 X|1:X位设置成1 异或 X^0:(x==0)结果和左操作数一样 X^1:(x==0)结果和左操作数相反 X^0:(x==1)结果和左操作数...

2014-06-03 23:14:00 696

转载 wxWidgets框架的一个例子

#ifndefMY_TEST_H_#defineMY_TEST_H_#include"wx/wx.h"//定义应用程序类classMyApp:publicwxApp{public: virtualboolOnInit();//启动时被调用};class...

2014-06-03 23:13:00 151

转载 C++ 关于对象指针转void*的问题

#include<iostream>usingnamespacestd;classA{public: A():m_a(0){} ~A(){} virtualvoidfa() { cout<<"aaaa"<<endl; }...

2014-06-03 23:11:00 985

转载 记录日志需要这么多的代码吗?

头文件#ifndefFILELOG_H_#defineFILELOG_H_classCFileLog//日志类{public: CFileLog();//构 virtual~CFileLog();//析 boolWriteToLog(CStringstrLo...

2014-06-03 22:53:00 119

转载 MFC - CFile类打开模式

CFile::modeCreate 让构造器创建一个新文件,如果那个文件已经存在,把那个文件的长度重设为0CFile::modeNoTruncate 可以同modeCreate. 一起用,如果要创建的文件已经存在,并不把它长度设置为0,因而这个文件获取或者作为一个...

2014-06-03 11:00:00 214

空空如也

空空如也

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

TA关注的人

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