摘要:
进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的内存则是隐藏的,并不能被正在运行的线程访问。为了能在两个进程之间进行通讯,由以下几种方法可供参考:0。剪贴板Clipboard: 在16位时代常使用的方式,CWnd中提供支持1。窗口消息 标准的Windows消息以及专用的W 阅读全文
摘要:
ZZ过来之后,又经过自己改动一下,就发了,转载地址忘记了。。。 char a[10]; 怎么给这个数组赋值呢? 1、定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的! 2、对数组中字符逐个赋值 char a[10]={'h','e','l','l','o'}; 3、利用strcpy char a[10]; strcpy(a, "hello"); 阅读全文
摘要:
转http://www.cnblogs.com/stoneJin/archive/2011/09/16/2179248.htmlstrcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。void *memcpy( void *dest, const void *src, s 阅读全文
摘要:
PM、PD、UE与UIPM、PD、UE与UI 从产品部门的角度出发,几大主要任务和相应的职责区别,涉及产品经理、产品设计师、用户体验师、视觉设计师四个角色。一般来说,这个顺序就是一个产品从规划到最终成型的任务流方向,是一个从抽象到具体、商业到技术的过程。 PM:产品经理,俗称老大。一个产品,首先由PM来分析细分市场、目标客户的诉求,规划产品的卖点、杀手级应用,这个过程通常PD已经介入了,这个层面上,商业问题、业务逻辑的流畅是思考的焦点。 PD:直译为产品设计师,也可能叫产品规划师、需求分析师。PD侧重于将一个个杀手级应用做功能级的设计,在这个模块上,PD类似是一个小产品经理。比如要做进销存,具 阅读全文
摘要:
http://blog.csdn.net/dos5gw/article/details/5677420CreateThread是Windows的API函数(SDK函数的标准形式,直截了当的创建方式,任何场合都可以使用),提供操作系统级别的创建线程的操作,且仅限于工作者线程。不调用MFC和RTL的函数时,可以用CreateThread,其它情况不要轻易。在使用的过程中要考虑到进程的同步与互斥的关系(防止死锁)。线程函数定义为:DWORD WINAPI _yourThreadFun(LPVOID pParameter)。但它没有考虑:(1)C Runtime中需要对多线程进行纪录和初始化,以保证C 阅读全文
摘要:
MFC应用程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数 3.WindowProc() 该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数 4.OnWndMsg()该函数的功能首先按字节对消息进行排序,对于WM_COMMAND消息,调用OnCommand()消息响应函数,对于WM_NOTIFY消息... 阅读全文
摘要:
http://blog.csdn.net/dehuadeng/article/details/6052095考虑单窗口情况:假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create。则销毁窗口的调用次序:1.手工调用pWnd->DestroyWindow();2.DestroyWindow会发送WM_DESTROY;3.WM_DESTROY对应的消息处理函数是OnDestroy();4.DestroyWindow会发送WM_NCDESTROY;5.WM_NCDESTROY对应的消息处理函数是OnNcDestroy;6.OnNcDestroy最后会调用PostNcD 阅读全文
摘要:
http://blog.csdn.net/brilliantlight/article/details/6904039在做基于窗口的Windows程序的时候,我们避免不了要向窗口发送消息,有两种方式,一种是PostMessage,另外一种是SendMessage。关于这两个宏,我是通过狠狠的看MSDN才搞明白的,那里讲的是最权威的。它们的区别如下:1、PostMessage会将消息压入窗口所在线程的消息队列,然后返回;而SendMessage则不经过消息队列,SendMessage可认为是直接调用了该窗口的窗口过程,因此在我们需要获得消息处理后的返回值的时候,就要用到SendMessage。 阅读全文
摘要:
转自:http://blog.csdn.net/alexingcool/article/details/6786590例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。思路:不可避免的是遍历第一个字符串,如果遍历一个字符,都需要去第二个字符串中查找其存不存在,那么复杂度会是O(nm),当然由于字符数有限,所以m是个常量。关于查找速度最快的当然是hash表,对于8位字符,size=2^8足矣。关于删除字符,后面的字符要往前移,如果每删除一个就移一次,O(n^2)这复杂度实在太高,仅仅用快慢指针就可以搞定,这个方法非常有 阅读全文
摘要:
example: ab**cd**e*12处理后结果为:*****abcde12,函数返回值5这个题目类似于上一个题,即使用快慢指针解决。本以为不难,但是还是有点区别,因为这道题的快慢指针的初始化是在串的最后一个字符,然后往前移,而终止条件是第一个字符,上一道题的终止条件是最后一个字符的下一个字符。[cpp]view plaincopy/**Copyright(c)2011alexingcool.AllRightsReserved.*/#include<iostream>#defineNUMBER1000usingnamespacestd;charsource[]="ab 阅读全文