![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
neilhuang
这个作者很懒,什么都没留下…
展开
-
同时处理消息和内核对象详细介绍
有时候大家要同时处理消息和内核对象,大家都知道用msgwait***函数,但是处理部分或多或少会有点问题,没有处理好,我在工作的时候就碰到过。记录一个详细的版本,以后忘记了可以过来看看while(!bQuit){MSG msg;int ret;ret = MsgWaitForMultipleObjects(nWait,hArray,FALSE,5000,QS_ALLIN原创 2014-03-08 15:32:09 · 525 阅读 · 0 评论 -
客户端优化
1. 启动速度的优化:原创 2014-08-27 00:42:57 · 404 阅读 · 0 评论 -
c++ 内存泄露
对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如 Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经比转载 2014-08-26 23:44:39 · 349 阅读 · 0 评论 -
windows异常捕获
一般要捕获异常只需要两个函数:SetUnhandledExceptionFilter截获异常;MiniDumpWriteDump写dump文件。但是由于CRT函数可能会在内部调用SetUnhandledExceptionFilter(NULL),解除我们程序设置的异常处理,这导致我们的程序无法完整捕获崩溃。另外,还有一部分非异常的CRT错误,不属于SEH异常捕获的范畴,需要通过_set_inval转载 2014-08-25 22:39:02 · 1270 阅读 · 0 评论 -
C++ 虚函数表
陈皓 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。转载 2014-08-25 00:14:25 · 344 阅读 · 0 评论 -
jpeglib的使用
BOOL BmpToJpg( int nWidth, int nHeight, int nPixelBytes, BYTE* byBmpData, BYTE** byJpgData, unsigned long* nSize ) { BOOL bResult = FALSE; jpeg_compress_struct jCompress;转载 2014-06-16 11:47:01 · 775 阅读 · 0 评论 -
c++一些面试
收集一些c++面试题,可能平时知道,但是不是特别清楚的那种。原创 2014-06-07 16:02:15 · 396 阅读 · 0 评论 -
cdecl、stdcall、fastcall函数调用约定区别
在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么转载 2014-06-07 16:03:26 · 334 阅读 · 0 评论 -
windgb的下载地址
WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。主页:http://msdn.microsoft.com/en-us/windows/hardware/gg463016下载链接:http://msdl.microsoft.com/download/symbols/debuggers转载 2014-07-15 18:56:34 · 912 阅读 · 0 评论 -
Chrome涉及到开源代码列表
序·关于Google Chrome Google Chrome 是Google 于2008年发布的一款开源的浏览器,它采用了许多开源的组件和工具,比如它的浏览器引擎采用的是开源的浏览器引擎WebKit。如果想获取Chrome的代码,可使用SVN从Google服务器上checkout,其SVN地址是src.chromium.org/svn, 这是一个总目录,包含有 Chrome、Ge转载 2014-06-04 18:19:53 · 550 阅读 · 0 评论 -
c++调用flash播放器
第一步:加载flash播放器1.在窗口中创建CAxwindow CAxwindow axWnd;axWnd.Create(hParent, rect, 0, WS_CHILD|WS_CLIPCHILDREN, 0, ID_CHILD_CONTROL) != NULL )//WS_VISIBLE|默认不可见axWnd.MoveWindow(lpRcInParent);原创 2014-03-18 18:33:18 · 2427 阅读 · 0 评论 -
关于动态库dllmain收到通知的总结
动态库中dllmain函数会收到4个消息通知,分别为DLL_PROCESS_ATTACHDLL_THREAD_ATTACHDLL_THREAD_DETACHDLL_PROCESS_DETACH1.当进程中主线程启动的时候,加载的动态库会收到DLL_PROCESS_ATTACH消息,主线程退出时,收到DLL_PROCESS_DETACH2.当动态库加载后,进程中每一个原创 2014-03-09 21:37:14 · 1080 阅读 · 0 评论 -
如何让c++调用网页中的jsp函数
c++调用jsp一般通过在窗口中内嵌一个CAxWindow来实现的在CAxWindow中通过调用CreateControlEx来初始化话IWebBrowser2接口如:CComPtr punknown;HRESULT hr = CreateControlEx(L"Shell.Explorer", NULL, NULL, &punknown);CComQIPtr spWebB原创 2014-03-10 14:35:06 · 1501 阅读 · 0 评论 -
IDispatch接口原理与应用
IDispatch接口原理与应用目录:IDispatch接口原理与应用目录:前言:IDispatch接口的定义:创建支持IDispatch接口的COM对象:标准方式调用IDispatch接口的方法:采用ATL智能指针类调用IDispatch接口的方法:使用类COleDispatchDriver调用IDispatch的方法: 前言:尽管com接口是跨语转载 2014-03-10 12:00:27 · 749 阅读 · 0 评论 -
关于线程的一些问题
MD和MT官方解析/MT 使应用程序使用运行时库的多线程静态版本。定义_MT 并使编译器将库名 LIBCMT.lib 放入 .obj 文件中,以便链接器使用 LIBCMT.lib解析外部符号。/MD 使应用程序使用运行时库的多线程并特定于DLL 的版本。定义 _MT 和 _DLL,并使编译器将库名 MSVCRT.lib 放入 .obj文件中。用此选项编译的应用程序静态链接到M原创 2014-03-09 16:05:44 · 460 阅读 · 0 评论 -
程序员最该看的30本书 --------国外编辑推荐
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典 ,下面就按照各本书的推荐数排列。1. 《代码大全》 史转载 2014-03-07 12:11:32 · 828 阅读 · 0 评论 -
c&c++程序优化几个建议
第一:记住,代码写完后一定要做一下系统优化,无论上面是否这样要求,但是这点很重要,是一种态度,当然优化可以借助各种工具如IBM和INTEL系列的优化工具,一般80%的时间被20%的代码所占用。第二:如果你所在公司,对程序性能优化不重视,那么就请跳槽吧。第三:要知道你所用编译器是怎么去优化多维数组访问的,如A[i][j]->A[i][j+1] 和A[i][j]->A[i+1][j]的转载 2014-03-07 10:46:05 · 618 阅读 · 0 评论 -
多线程的同步问题小结
多线程同步一般可以使用:1.临界区(CRITICAL_SECTION): 临界区并不是内核对象,它存放在进程内部,所以不能跨进程。不用create和closehandle,直接init和delete就可以 它是轻量级的,效率可能是其他内核对象100倍 但是一个线程意外结束,未调用leave时,回导致其他线程一直不能访问被锁定资源 同一个线程在leave之前,可以原创 2014-03-08 17:37:14 · 439 阅读 · 0 评论 -
关于继承比较容易混淆的概念
继承分为public继承、protected继承、私有继承原创 2014-08-26 00:30:15 · 442 阅读 · 0 评论