![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 91
四儿
但念无常,当勤精进。
展开
-
boost::pool
Boost库的pool提供了一个内存池分配器,用于管理在一个独立的、大的分配空间里的动态内存分配。Boost库的pool主要适用于快速分配同样大小的内存块,尤其是反复分配和释放同样大小的内存块的情况。使用pool内存池主要有以下两个优点: 1. 能够有效地管理许多小型对象的分配和释放工作,避免了自己去管理内存而产生的内存碎片和效率低下问题。 2. 告别程序内存泄漏的烦恼,pool库会在内部对内转载 2016-07-16 15:02:23 · 346 阅读 · 0 评论 -
C++面试宝典2011版
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部转载 2011-09-25 14:35:04 · 526 阅读 · 0 评论 -
TCHAR
目录定义使用原理编辑本段定义 TCHAR是通过define定义的字符串宏编辑本段使用原理 因为C++支持两种字符串,即常规的ANSI编码(使用""包裹)和Unicode编码(使用L""包裹),这样对应的就有了两套转载 2011-09-26 16:48:40 · 337 阅读 · 0 评论 -
高级语言内的单指令多数据流计算(SIMD)
高级语言内的单指令多数据流计算(SIMD) HouSisong@GMail.com 2011.04.14tag:单指令多数据流计算,SIMD摘要: 很多年来,x86体系的CPU增加的新指令集大多都是SIMD指令(和相应的寄转载 2011-09-21 22:06:21 · 454 阅读 · 0 评论 -
代码测试之代码调试
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 代码测试是我们开发过程中很重要的一步。很多新入行的朋友都会习惯地认为测试只是测试部门的工作,事实上并不是这样。每一位软件工程师对应该本着对自己代码负责的态度,转载 2011-09-21 11:15:03 · 325 阅读 · 0 评论 -
代码测试之内存越界
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 内存越界是我们软件开发中经常遇到的一个问题。不经意间的复制常常导致很严重的后果。经常使用memset、memmove、strcpy、strncpy、strc转载 2011-09-21 11:14:28 · 666 阅读 · 0 评论 -
代码测试之内存泄露
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在我们个人编程的过程当中,内存泄露虽然不会像内存溢出那样造成各种莫名奇妙的问题,但是它的危害也是不可忽视的。一方面,内存的泄露导致我们的软件在运行过程中转载 2011-09-21 11:14:00 · 416 阅读 · 0 评论 -
提高代码的运行效率 (4)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】(7)尽量采用查询的方式,少采用计算的方式,注意分析经验数据 做过服务器侧软件的朋友都知道,单个socket的响应时间要尽可能的短,因为这有这样我们才能在短转载 2011-09-21 11:13:22 · 338 阅读 · 0 评论 -
提高代码的运行效率 (3)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 4、编译的时候,我们习惯于在头文件中包含很多其他的文件,不管他们对我们是有用还是没有用,殊不知这样会带来很大的麻烦。一方面,它会在我们修改头文件的时候造成麻烦,另外一转载 2011-09-21 11:12:56 · 266 阅读 · 0 评论 -
提高代码的运行效率(2)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 2、 在编写的代码的时候,我们强调需要对循环首先进行循环内部的计算,然后进行循环外面的计算。在此,我们可以进行下面一个测试: void loop_analys转载 2011-09-21 11:12:26 · 261 阅读 · 0 评论 -
学习内存管理---分段、分页
1。操作系统最大的功能就是管理功能,管理进程调度、管理内存、管理文件系统、管理I/O,...。其中最核心的功能是进程管理,但管理的基础是内存管理,只有把内存管理好了,才能使进程在这个广阔的舞台上自由表演。2。系统工作模式有三种:实模式、保护模式、虚拟8086模式,其中保护转载 2011-09-27 09:44:32 · 741 阅读 · 0 评论 -
wdm - Win32设备驱动程序体系结构
目前,由于需要支持新的业务和新的PC外部设备类型对驱动程序开发造成了新的挑战。新型总线增加了设备的数量和对设备驱动程序的需求。设备上各种功能的不断增加使驱动程序的开发变得越来越复杂。同时,快速反应的交互式应用程序要求将软件和硬件紧密的结合在一起。1997年,在用于Windows转载 2011-09-27 21:19:02 · 579 阅读 · 0 评论 -
关于静态函数的一些思考
在CSDN上发帖讨论关于静态函数与全局静态函数的区别时,有网友指出没有全局静态函数之说,既然是全局函数又怎么能是静态的那?关于这个问题,我不想正面回答,static是C++关键字之一,它的作用就是:把有static修饰的函数或者变量变为静态的,这里的静态而不仅仅表示存储在静态区,同时也标示这个函数或者变量为文件内编译有效,也就是本单元编译有效,从这一点上来理解,全局静态函数其实就是本编译单元有效的转载 2012-09-06 14:30:40 · 391 阅读 · 0 评论 -
cmake 学习笔记(二)
在 Cmake学习笔记一 中通过一串小例子简单学习了cmake 的使用方式。这次应该简单看看语法和常用的命令了。简单的语法注释# 我是注释命令语法COMMAND(参数1 参数2 ...)字符串列表A;B;C # 分号分割或空格分隔的值变量(字符串或字符串列表)set(Foo a b c)设置变量转载 2012-08-21 08:21:34 · 1026 阅读 · 0 评论 -
Win7下VS2008调试qgis1.7.0
各种纠结之后发现,Win7下调试qgis1.7.0是一个概率性问题。不同的人会遇见不同的错误,估计是编译环境的不同或者blabla一系列我也说不明白的问题。谨在此将自己遇到的和网上查到的总结一下。 先说说自己的吧:1、qgis.bat这个批处理文件的内容还是很值得研究一下,我的范本是:@echo offpath %SYSTEMROOT%\system32;转载 2012-08-21 11:48:30 · 1462 阅读 · 0 评论 -
整理【编译QGIS】
Gis Data Line 个人经验之谈:环境配置清单:(都可在官网给的链接下下载)1-[VS2008]2-[PSDK-x86].exe3-[cmake-2.8.4-win32-x86].exe4-[flex-2.5.4a-1].exe5-[bison-2.4.1-setup].exe6-[osgeo4w-setup].exe(具体安装哪转载 2012-08-21 11:46:03 · 3690 阅读 · 0 评论 -
cmake 学习笔记(三)
接前面的 Cmake学习笔记(一) 与 Cmake学习笔记(二) 继续学习 cmake 的使用。学习一下cmake的 finder。finder是神马东西?当编译一个需要使用第三方库的软件时,我们需要知道:去哪儿找头文件 .h对比GCC的 -I 参数去哪儿找库文件 (.so/.dll/.lib/.dyl转载 2012-08-21 08:23:04 · 1243 阅读 · 0 评论 -
cmake 学习笔记(一)
最大的Qt4程序群(KDE4)采用cmake作为构建系统Qt4的python绑定(pyside)采用了cmake作为构建系统开源的图像处理库 opencv 采用cmake 作为构建系统...看来不学习一下cmake是不行了,一点一点来吧,找个最简单的C程序,慢慢复杂化,试试看:例子一单个源文件 main.c例子二转载 2012-08-21 08:22:24 · 505 阅读 · 0 评论 -
编译 QGIS 1.7.0
前面的几个步骤大部分可以按照官方文档安装,点击这里下载。这里用的是VC9(2008)编译。必须的几个工具软件:Cmake, Flex, Bison, SVN, OSGeo4W。其中Flex和Bison注意要安装在没有空格的目录中,比如C:\GnuWin32,不要用默认的路径。checkout源代码,按照官方文档的地址checkout就行了,用什么软件无所谓。用OSGeo4W安装各种依赖转载 2012-08-20 16:02:29 · 822 阅读 · 0 评论 -
为什么要重载new?
为什么要重载new? 作者 ariesram 电子邮件地址 ariesram@linuxaid.com.cn, 或 ariesram@may10.ca 本文及本人所有文章均收集在bambi.may10.ca/~ariesram/articles/中。 本文授权给www.linuxaid.com.cn。 正文: 我曾经参与过一个比较大的项目,在这个项目里面,我们没有一个完全确转载 2012-03-05 21:44:23 · 889 阅读 · 0 评论 -
C/C++变量在内存中的分布
C/C++变量在内存中的分布在笔试时经常考到,虽然简单,但也容易忘记,因此在这作个总结,以加深印象。先写一个测试程序:view plain#include #include int g_i = 100; int g转载 2011-10-09 17:49:28 · 255 阅读 · 0 评论 -
提高代码的运行效率(1)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在下面的blog当中,我将会讲解一些提高个人代码效率的一些手段。这些手段都是被实践证明,切实可行的。但是不同的处理器和处理平台上面可能会有所差别,但是本质上是转载 2011-09-21 11:11:48 · 279 阅读 · 0 评论 -
用汇编的眼光看C++(之指针2)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 (4)指针和引用 引用是C++和语言的区别之一。其实本质上说两者是一致的。朋友们可以看下面两段代码。 a)指针和指针的函数代码转载 2011-09-21 11:09:42 · 264 阅读 · 0 评论 -
用汇编的眼光看C++(之退出流程)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 无论是在判断还是在循环的过程中,通常在遇到合适的条件的时候就会退出相应的模块。跳出模块运行的方式很多,break,continue,return都可以。下面转载 2011-09-21 11:00:12 · 289 阅读 · 0 评论 -
用汇编的眼光看C++(之循环流程)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 循环是我们编程中遇到的另外一项重要技术。通过反复的迭代运算,我们可以获取想要的任何结果。当然这种迭代是有基本条件的,或是以时间为条件的,或是以空间为条件的,转载 2011-09-21 10:59:31 · 227 阅读 · 0 评论 -
用汇编的眼光看C++(之判断流程)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在我们平常的编程当中,用于判断的地方很多,但主要有下面三种方式:if-else;switch;?:。其中最后一种方式在本质上和if-else是一样的。swi转载 2011-09-21 10:58:25 · 229 阅读 · 0 评论 -
用汇编的眼光看C++(之缺省模板、特化模板)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 缺省函数是C++的一个基本特色。缺省函数定义比较简单,也就是说,对于函数的某一个输入参数或者几个输入参数,如果你没有特定的数值的话,那我们就会用缺省的数据进转载 2011-09-21 10:56:40 · 268 阅读 · 0 评论 -
用汇编的眼光看c++(之模板函数)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 如果说模板类定义的是一种数据类型,那么模板函数定义的就是一种函数。既然是函数,那么就有输入数据和输出数据。和模板类的概念差不多,模板函数的初衷也是为了在函转载 2011-09-21 10:54:30 · 219 阅读 · 0 评论 -
c++面向对象编程必备“良方”
前言:c++面向对象中的繁琐机制,不得不让你在编程中频频“犯病”,找错误,找bug,困扰,是你的病源所在,本人虽不是什么“良医”, 却也算是总结出以下“良方”。注:难免会有记忆上的遗漏,知识上的不够,遗漏之处还需大家来补充啊!http://blog.csdn.net/zhan转载 2011-09-21 08:04:49 · 245 阅读 · 0 评论 -
【讨论】C++程序员是否该掌握某种汇编语言?
导语:日前网络上关于C++程序员是否应该对汇编语言有一定的掌握程度的问题讨论比较激烈。反对的观点大致有几点: 1.对于普通软件开发人员来讲,关注于上层实现,关注于功能和产品才是主要,汇编也用不到;2.很多的C++程序员不懂汇编,也成为了某公司某项目组主程序、核心研发,因此汇编可以转载 2011-09-14 17:27:47 · 235 阅读 · 0 评论 -
如何使用设计模式来构造系统--(1)
(声明:本系列所用的模式都来自GOF23中,本系列并不是讲23种经典设计模式,而是如何去使用这些模式) 一直很想写关于设计模式的具体使用的文章,可是一直没想好怎么去写,才可以通俗易懂,真正的让设计模式,应用到系统设计中.今天终于想到了,这个系列准备用实例转载 2011-09-08 22:03:14 · 291 阅读 · 0 评论 -
如何使用设计模式来构造系统--(2)
(由于篇幅有限,部分代码请看如何使用设计模式来构造系统--(1) ) 上一篇我们分析了员工,工资,以及绩效奖金三个类,并且使用了Bridge和Stratege两种模式,对他们之间的组合和行为进行了设计,但是我们的设计并不完善。我们知道员工的基本工资可能每年都不一样转载 2011-09-09 17:50:05 · 619 阅读 · 0 评论 -
用汇编的眼光看C++(之嵌入汇编)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 嵌入式汇编是对纯汇编文件的一种有益补充。通常会有下面几种情况使用到汇编:(1)提高代码的工作效率 ,使用到cpu的一些特殊指令,比如说mmx指令;(2)对转载 2011-09-21 11:00:51 · 276 阅读 · 0 评论 -
用汇编的眼光看C++(之class构造、析构)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们讨论基本上都是C语言的内容,还没有真正触及到C++的相关知识。从这篇博客之后,我们将会更多触及类的内容。类的属性很多,今天我们讨论主要就是构造函转载 2011-09-21 11:02:29 · 266 阅读 · 0 评论 -
用汇编的眼光看C++(之拷贝、赋值函数)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 拷贝构造函数和复制函数是类里面比较重要的两个函数。两者有什么区别呢?其实也很简单,我们可以举个例子,加入有这样一个类的定义:view转载 2011-09-21 11:03:01 · 278 阅读 · 0 评论 -
用汇编的眼光看C++(之指针1)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 指针是我们在C/C++中经常遇到的一种数据类型。指针用的好,可以提高代码的可读性;但是如果使用不恰当,反而会造成很大的麻烦。指针,也就是指向某一种数据类型的地转载 2011-09-21 11:08:58 · 251 阅读 · 0 评论 -
用汇编的眼光看C++(开篇)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多朋友,包括我自己在内,对C++语言的很多特性不是很明白。特别是几年前找工作的时候,为了应付来自工作单位的考试,我经常逼着自己的去记住一些复转载 2011-09-21 11:07:26 · 272 阅读 · 0 评论 -
用汇编的眼光看C++ (之x86汇编)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 说到用汇编的眼光看C++语言,那么怎么阅读汇编代码就成了我们需要解决的一个问题。其实,实话说,汇编其实不难。只是我们需要明白这样几个问题: (1)转载 2011-09-21 11:06:56 · 315 阅读 · 0 评论 -
用汇编的眼光看C++(之模板类)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 如果类是一种确定的数据类型,那么模板就是一种对类的抽象。假设有这么一种类,它需要进行数据的计算,而且类型还很多,那么我们可能就要针对不同类型的数据定义不同的转载 2011-09-21 11:06:08 · 262 阅读 · 0 评论 -
用汇编的眼光看C++(之const属性)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 const是C/C++语言中的关键字,但是如果用的好,可以极大地提高代码的健壮性。一般来说const使用的地方还是蛮多的,但是主要还是下面几个地方:(1)普转载 2011-09-21 11:05:38 · 268 阅读 · 0 评论