- 博客(18)
- 资源 (7)
- 收藏
- 关注

原创 linux键盘输入系统内部流程
键盘输入,与操作系统,当前控制台,shell,进程组,前台进程组,进程关系呢?键盘输入首先进入到inputevent中,inputevent然后获取到当前控制台的当前进程组,当前进程组中如果有进程调用了read函数,则将键盘输入返回给该进程。(如果当前进程组中,多个调用read则竞争。)操作系统过有个变量记录当前控制台的变量;键盘驱动中有个变量记录当前进程组
2012-08-04 11:20:05
1201
原创 在线程里面使用SetTimer定时器
// MyThreadTimer.h#pragma onceclass MyThreadTimer: public CWinThread{DECLARE_MESSAGE_MAP()public: MyThreadTimer(void); ~MyThreadTimer(void);public: boo
2012-09-01 23:10:48
2843
原创 临时变量引发的程序崩溃
案例1: 时间:2012.08.13 描述:CSerial类中函数send声明一个临时OVERLAPPED类型的变量,调用WriteFile 。 void CSerial::send(const char *data, int len) { DWORD writeLen = 0; OVERLAP
2012-08-14 10:34:24
1213
原创 如何唤醒sleep,让sleep提前返回
/** *@brief解决linux下,让sleep提前返回的实现方式 * 解决方案:通过信号方式。 * 每当按下 Ctrl+C时,sleep都会提前退出 */#include #include #include void sig_int(int n){std::cout }
2012-03-14 19:47:10
7779
原创 Linux 系统进程的五种状态
linux中进程有五种状态1 可运行 (R) 处于可运行状态的进程,一旦有机会,就会访问CPU。多个进程可以(而且经常)处于可运行状态,但是因为在任何给定时间内只有一个进程可以在CPU上运行,所以实际上这些进程中只有一个在任何给定的实例上运行。然后,由于可运行的进程进出CPU切换得非常迅速,在Linux系统上看起来好像所有这些进程在同步运行一
2012-03-11 17:01:03
5572
原创 移植php5到arm
步骤:编译说明编译php-5.3.10 目的:编译arm版本的php步骤:解压 www.php.net/get/php-5.3.10.tar.gz/from/a/mirrortar zxvf php-5.3.10.tar.gz覆盖 php_config.h.in main/php_config.in 文件./co
2012-02-23 15:36:30
4249
原创 移植samba到arm系统
目标arm环境:uname -aLinux (none) 2.6.24-rt1-hi3520v100 #5 Wed Jun 15 13:06:26 CST 2011 armv6l unknown交叉编译环境:uname -aLinux alex-virtual-machine 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UT
2012-02-16 08:45:37
4472
原创 TCP中32位序号详解
TCP中32位序号详解 首先解释一段截取的网络数据认识一下。(由a_la_lei解释)1、-> syn(这一步是初始化发送端的ISN。理论上,它的数据字段没有任何值,消耗的是一个虚字节)TCP: Sequence number = 4071231308TCP: Acknowledgement number = 02、TCP: Sequence number = 119134
2009-09-28 16:21:00
2457
1
原创 不用任何局部和全局变量实现int strlen(char *a)
不用任何局部和全局变量实现int strlen(char *a)int strlen(char *a) { if(0 == *a) return 0; else return 1 + strlen(a + 1);
2009-09-17 14:02:00
968
1
原创 C语言关键字列表
C语言关键字列表autoenumrestrictunsignedbreakexternreturnvoidcasefloatshortvolatilecharforsignedwhileconstgotosizeof_Boolcontinueifsta
2009-09-17 10:11:00
906
原创 C++关键字
asmautobad_castbad_typeidboolbreakcasecatchcharclassconstconst_castcontinuedefaultdeletedodoubledynamic_castelseenumexceptexplicit
2009-09-17 09:43:00
363
原创 C++语法
注意点:1:初始化int a = 3; 或int a(3);2:if(MakeDate() || MakeTime()):如果MakeDate成功,MakeTime将不执行;3:while(--i && --j):如果--i等于0,--j将不执行;4:if中声明变量:if(int x = GetDate()){ cout 5:不能用goto语句跳过包含隐式或显示初始化变量(类)
2009-09-16 10:05:00
515
原创 重载Operator ++
#include "stdafx.h"#include "iostream"using namespace std;class COperator{private: int m_data;public:COperator(void):m_data(0){ }public:~COperator(void){}public: int COperator::operator ++(in
2009-09-15 17:27:00
425
原创 BSTR与wchar_t *的区别?
BSTR与wchar_t *的区别? wchar_t* 只是一个简单的指针 跟int* ,char* 一样 BSTR 所指向的内存地址相当于一个wchar_t*,但BSTR往后退4Bytes(在内存中)的地址中所存的一个DWORD值表示它的长度。 例如: BSTR bstrT = ::SysAllocString(L".
2009-09-15 15:38:00
1067
1
原创 解析事件,信标,互斥对象区别
前提:假设有个经理,下面有5个项目组.经理同时最多能接5个项目,每个项目组一次只能做一个项目。信标Semaphore:信标相当于,5个项目组都争先恐后的争夺项目。如果经理有5个项目,那么5个项目组都可以做。如果经理有3个项目,那就有2个项目没事情做,在等待。如果经理没有项目,那么5个组,都在闲着。事件Event:相当于,外面有个项目,经理把项目接回来了。站在门口大喊:有项目了。喊完了,经理
2009-09-10 10:33:00
906
2
原创 程序功能:用二分法查找数字在递增数组中的位置,并打印出来。
程序功能:用二分法查找数字在递增数组中的位置,并打印出来。 /***************************main.cpp测试二分法查找***************************/#include "stdafx.h"#include "Arr50.h"int _tmain(int argc, _TCHAR* argv[]){ CArr50 arr50;
2009-09-03 11:21:00
1132
转载 进程调用DLL分配内存函数,进程释放内存,错误说明。(复制于Windows核心编程)
DLL与进程的地址空间注意必须注意的是,单个地址空间是由一个可执行模块和若干个D L L模块组成的。这些模块中,有些可以链接到静态版本的C / C + +运行期库,有些可以链接到一个D L L版本的C / C + +运行期库,而有些模块(如果不是用C / C + +编写的话)则根本不需要C / C + +运行期库。许多开发人员经常会犯一个常见的错误,因为他们忘记了若干个C / C + +运行期
2009-09-03 11:16:00
1906
原创 VC屏蔽Enter和ESC
VC屏蔽Enter和ESC退出程序2009年01月28日 星期三 22:05重载PreTranslateMessage函数屏蔽回车和ESC的消息: BOOL C***Dlg::PreTranslateMessage(MSG* pMsg) { if(WM_KEYDOWN == pMsg->message ) { UINT nKey = (int) pMsg->wParam;
2009-05-27 13:40:00
677
live555MediaServer
2018-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人