摘要: 讲到分离线程,先得从僵尸进程讲起(抱歉,确实不知道线程是否有僵尸一说)。关于僵尸进程:一般情况下进程终止的时候,和它相关的系统资源也并不是主动释放的,而是进入一种通常称为“僵尸”(zombie)的状态。它所占有的资源一直被系统保留,直到它的父进程(如果它直接的父进程先于它去世,那么它将被init进程... 阅读全文
posted @ 2015-06-19 21:25 奶味洋葱头 阅读(900) 评论(0) 推荐(0) 编辑
摘要: 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。... 阅读全文
posted @ 2015-06-19 21:24 奶味洋葱头 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 版本:Visual Studio 2005用户界面线程通常用于处理用户输入和响应用户事件,这些行为独立于执行该应用程序其他部分的线程。已经创建并启动主应用程序线程(在CWinApp导出的类中提供)。本文描述创建其他用户界面线程所需的步骤。创建用户界面线程时,必须首先从CWinThread派生类。必须... 阅读全文
posted @ 2015-06-19 21:20 奶味洋葱头 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 在一次面试中突然被问到这个问题,当时还真不明白,回来在网上找到了说法:因为malloc/free,new/delete都是调用HeapAlloc/HeapFree来实现来实现内存分配是释放的。查看Windows的API可以看到,这两个函数都需要一个Heap的HANDLE做为参数。CRT库采用了全局变... 阅读全文
posted @ 2015-06-19 21:19 奶味洋葱头 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 前要:内存申请与释放头文件:#include 申请:malloc(配置内存空间) 相关函数 calloc,free,realloc,brk函数原型 void * malloc(size_t size);一般使用时会将void改为自定义型如:double **pd=NULL; pd =(doub... 阅读全文
posted @ 2015-06-19 21:07 奶味洋葱头 阅读(846) 评论(0) 推荐(0) 编辑