- 博客(17)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
转载 Windows 下主程序与动态库(*.dll)释放对方分配的内存操作要点
同样的代码程序:主程序中释放了一块在 动态库(*.dll)或共享库(*.so) 中分配的内存,Windows 将会出现程序崩溃,而 Linux 则正常运行。在 linux 下,每个进程只有一个 heap ,在任何一个共享库模块 *.so 中通过 new 或者 malloc 来分配内存的时候都是从这个唯一的 heap 中分配的,那么自然你在其它什么
2015-05-26 11:51:55 962
转载 在C++中调用DLL中的函数
如何在C++中调用DLL中的函数 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL中函数的结构信息。Visual C++6.0在VC\bin目录下提供了一个名为Dumpbin.exe的小程序,用它可以查看DLL文件中的函数结构。另外,Windows系统将遵循下面的搜索顺序来定位DLL: 1.包含EXE文件的目录,2.进程的当前工作目录
2015-05-20 18:15:40 610
转载 VC++中DLL中全局变量的导出和导入
在Dll中定义的全局变量***.hextern __declspec(dllimport) int g_t;//声明g_t在其他地方定义***.cpp__declspec(dllexport) int g_t = 0;//定义g_t在主程序中要用dll中的g_t变量时,需要声明extern _declspec(dllimport) int g_t;若包含了前
2015-05-20 18:06:28 1160
转载 策略模式和桥接模式的区别
桥接(Bridge)模式是结构型模式的一种,而策略(strategy)模式则属于行为模式。以下是它们的UML结构图。在桥接模式中,Abstraction通过聚合的方式引用Implementor。 在策略模式中,Context也使用聚合的方式引用Startegy抽象接口。 从他们的结构图可知,在这两种模式中,都存在一个对象使用聚合的方式引用另一个对象的抽象接口
2015-05-19 17:43:45 517
转载 设计模式系列
http://www.cnblogs.com/JackyTecblog/archive/2012/11/03/2752875.html
2015-05-19 17:25:47 341
转载 C++ 容器及选用总结
C++ 容器及选用总结目录====================================================第一章 容器第二章 Vector和string第三章 关联容器第四章 迭代器第五章 算法第六章 函数第七章 在程序中使用STL====================
2015-05-19 17:09:45 341
转载 模板模式和策略模式的区别
根据《深入浅出设计模式(C#/Java版)》所述,Strategy模式的应用场景是:1. 多个类的分别只是在于行为不同2. 你需要对行为的算法做很多变动3. 客户不知道算法要使用的数据 Template Method模式的应用场景是:1. 你想将相同的算法放在一个类中,将算法变化的部分放在子类中实现2. 子类公共的算法应该放在一个公共的类中,避免代码
2015-05-19 14:32:24 800
转载 模板方法模式深度解析
1. 模板方法模式概述 在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单 --> 吃东西 --> 买单。在这三个步骤中,点单和买单大同小异,最大的区别在于第二步——吃什么?吃面条和吃满汉全席可大不相同,如图1所示:图1 请客吃饭示意图 在软件开发中
2015-05-19 14:31:40 383
转载 堆与堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总
2015-05-13 18:18:08 297
转载 线程局部存储
英文为Thread Local Storage,缩写为TLS。为什么要有TLS?原因在于,全局变量与函数内定义的静态变量,是各个线程都可以访问的共享变量。中文名线程局部存储外文名Thread Local Storage缩 写为TLS含 义全局变量与函数内定义的静态变量
2015-05-13 16:33:17 466
转载 同步和异步socket
MFC对SOCKET编程的支持其实是很充分的,然而其文档是语焉不详的。以至于大多数用VC编写的功能稍复杂的网络程序,还是使用API的。故CAsyncSocket及CSocket事实上成为疑难,群众多敬而远之。余好事者也,不忍资源浪费,特为之注解。一、CAsyncSocket与CSocket的区别前者是异步通信,后者是同步通信;前者是非阻塞模式,后者是阻塞模式。另外,异步非阻
2015-05-12 13:44:55 562
转载 UML时序图的画法
现在是二月,而且到如今你或许已经读到、或听到人们谈论UML 2.0 —— 包括若干进步的 UML 的新规范,所做的变化。考虑到新规范的重要性,我们也正在修改这个文章系列的基础,把我们的注意力从 OMG 的 UML 1.4 规范,转移到 OMG 的已采纳 UML 2.0草案规范(又名 UML 2)。我不喜欢在一系列文章的中间,把重点从 1.4 变为 2.0 ,但是 UML 2.0 草案规范是前进的重
2015-05-12 10:49:22 34715 1
转载 秒杀多线程第一篇 多线程笔试面试题汇总
http://blog.csdn.net/morewindows/article/details/7392749
2015-05-08 11:20:16 386
转载 设计模式大全
Longronglin之设计模式:Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。模式描述为:在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境。阅读类图和对象图请先学习UML创建模式 结构模式 行为模式创建模式:对类的实
2015-05-08 00:42:56 350
转载 图解排序算法
一 插入排序1.1 直接插入排序基本思想:每次将一个待排序额记录按其关键码的大小插入到一个已经排好序的有序序列中,直到全部记录排好序。图解:代码实现:[cpp] view plaincopy//直接顺序排序 void InsertSort(int r[], int n) {
2015-05-08 00:39:07 492
转载 Dither
概述编辑Dither是数字音乐处理上非常神奇的技巧,目的是通过用少数的Bit达到与较多Bit同样的听觉效果,方法是在最后一个Bit(LSB)上动“手脚”。例如用16Bit记录听起来好似20Bit的信息,听到原先16Bit无法记录的微小信息。举例来说,现在我有个20Bit的采样信息,现在想将其存为16Bit的信息格式,最简单的转换方式就是直接把后面4个Bit去掉,但是这样就失去用20Bit录
2015-05-05 08:56:45 456
linux环境下,在程序中调用system执行ulimit命令不起作用
2016-10-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人