自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

转载 堆(heap)和栈(stack)有什么区别??

堆(heap)和栈(stack)有什么区别??简单的来讲堆(heap)上分配的内存,系统不释放,而且是动态分配的。栈(stack)上分配的内存系统会自动释放,它是静态分配的。    由malloc或new分配的内存都是从heap上分配的内存,从heap上分配的内存必须有程序员自己释放,用free来释放,否则这块内存会一直被占用而得不到释放,就出现了“内存泄露(Memory Leak

2014-04-02 17:16:42 770

转载 Linux的内存管理主要分为两部分:物理地址到虚拟地址的映射,内核内存分配管理(主要基于slab)。

Linux的内存管理主要分为两部分:物理地址到虚拟地址的映射,内核内存分配管理(主要基于slab)。物理地址到虚拟地址之间的映射1、概念  物理地址(physical address)  用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本

2014-04-02 16:40:03 2636

转载 浅谈Linux内存管理机制

浅谈Linux内存管理机制经常遇到一些刚接触Linux的新手会问内存占用怎么那么多?原文:http://os.51cto.com/art/201309/411937.htm在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于Windows的内存管理。主要

2014-03-31 13:39:25 604

转载 浅谈C++多态性

原文:http://blog.csdn.net/hackbuteer1/article/details/7475622  C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。  多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域

2014-03-27 19:23:34 398

转载 《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记

原文:http://dsqiu.iteye.com/blog/1669614之前一直对C++内部的原理的完全空白,然后找到《Inside The C++ Object Model》这本书看了下, 感觉收获很大,因为书写得比较早,有些知识应该要更新,但是还是值得好好研读,由于该书的内容给人比较散的感觉,所以一直想找个时间整理一下,遂成此文,虽然都是抄书上的,但是却让我有了温故而知新的觉悟,附

2014-03-26 14:40:19 627

原创 Default MemberWise Initialization 与 bitwise copy semantics

比如有下面的两个对象a,bA a,b;如果有a=b;如果a=b实施的是bitwise copy semantics,就是说编译器生成的伪代码是memcpy(&b,&a,sizeof(a)).如果是Default MemberWise Initializetion,就是一个个成员进行复制.如果是上面的理解,那么bitwise copy semantics就是Default MemberWise In

2014-03-14 14:53:34 495

原创 二叉树的递归、迭代遍历的模板代码

#include #include #include using namespace std;#define IsRoot(x) (!(x->parent))#define IsLChild(x) (!IsRoot(x) && (x == x->parent->lChild))#define IsRChild(x) (!IsRoot(x) && (x == x->parent->r

2014-03-11 10:11:59 876

转载 C语言中的static变量和C++静态数据成员(static member)

原文:http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520112894854489/C语言中的static变量和C++静态数据成员(static member)__生命周期,作用域,访问约束等__静态成员的初始化不应该在头文件中,静态数据成员被类的所有对象共享、包括派生类的对象,在类中可以声明所属类自己的静态数据成员对

2014-03-09 15:40:36 1073

转载 mysql入门的两个网站

http://dev.mysql.com/doc/refman/5.1/zh/tutorial.htmlhttp://bbs.mysql.cn/forum-42-1.html

2014-03-01 14:08:53 407

转载 mysql load操作

load的语法LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY 'string'] [[OPTIONALLY] ENCL

2014-03-01 14:06:19 453

转载 深入理解C++的动态绑定和静态绑定

为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误,需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。关于对象的静态类型和动态类型,看一个示例:class B{}class

2014-03-01 13:31:14 439

转载 void display( ) const 中的const是什么意思?

问题:c++:void display( ) const 中的const是什么意思?简答:意思是除了表明了mutable的成员变量以外该类的其他的成员变量在这个函数内一律不能修改。详细:加const表明,该函数只能是只读的,不能修改私有变量的值。加强安全性。给隐含的this指针加const,表示这个this指向的东西是const的,也就是说这个函数中无法改动数据成员了。

2014-02-26 20:43:50 5078 2

转载 WatchDog Timer看门狗

WDT是英语Watchdog Timer的缩写字母。Watchdog Timer 中文名看门狗。是一个定时器电路,一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,使MCU复位. 防止MCU死机. 看门狗的作用就是防

2014-02-18 11:05:12 4504

转载 中断与任务——vxworks

分类:中断处理是整个运行系统中优先级最高的代码,可以抢占任何任务级代码运行。中断机制是多任务环境运行的基础,是系统实时性的保证。几乎所有的实时多任务操作系统都需要一个周期性系统时钟中断的支持,用以完成时间片调度和延时处理。VxWorks 提供tickAnnounce(),由系统时钟中断调用,周期性地触发内核。  为了快速响应中断,VxWorks的中断服务程序(I

2014-02-18 10:18:46 1519

转载 taskSpawn( )函数,semBCreate()函数,二进制信号量实现互斥和同步

taskspawn创建的任务是进程,不是线程,在vxworks里Task等价于进程。死循环方式是可以的,比如exctask等很多核心的task都是死循环进程之间的内存空间是互相隔离的(虽然vxworks里也可以访问),进程内不同线程之间内存空间是共享的。int taskSpawn    (    char          *name,        /*任务名*/

2014-02-18 10:01:26 14686 1

转载 char * a, char ** a, char * a[], char a[][], char * a[][], char ** a[][], char * a [][][], and so on

原文:http://blog.163.com/digoal@126/blog/static/163877040201271195312138/char * a, char ** a, char * a[], char a[][], char * a[][], char ** a[][], char * a [][][], and so on in memory  2012-08

2013-12-24 11:32:52 606

转载 Linux下的压缩解压缩命令详解

Linux下的压缩解压缩命令详解发布时间:2009-12-13 16:05:33   来源:PHP100中文网   评论:0 点击: 次 【字号:大中 小】QQ空间新浪微博 腾讯微博 人人网 豆瓣网 百度空间 百度搜藏 开心网 复制 更多73linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部

2013-12-13 21:45:36 400

转载 Linux下定义Windows常用数据类型

最近将一个Windows程序移植到Linux上,发现两个操作系统对很多数据类型的命名方式区别很大,比如Windows下对于无符号数据类型一般用U+x的方式,像UINT、UCHAR、ULONG,而Linux上就要中规中矩,都是unsigned +x;另外,还有一些数据类型是Windows有,而Linux没有的,像DWORD、HANDLE、LPSTR等等。于是我写了一个Windows数据类型在Linu

2013-12-13 15:45:34 460

转载 mysql database中常用操作

MySQL添加字段的方法并不复杂,下面将为您详细介绍MySQL添加字段和修改字段等操作的实现方法,希望对您学习MySQL添加字段方面会有所帮助。1.登录数据库>mysql -u root -p 数据库名称2.查询所有数据表>show tables;3.查询表的字段信息>desc 表名称;4.1添加表字段alter table table1 add

2013-12-06 22:05:38 552

转载 MySQL字段类型详解

MySQL字段类型详解2009-01-05 09:25 [小 大] 来源: 泡菜博客 评论: 0 分享至:百度权重查询 词库网 网站监控 服务器监控 SEO监控 手机游戏 iPhone游戏MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性

2013-12-02 15:50:02 459

转载 MySQL 5.1 分区技术初探(一)

【转】MySQL 5.1 分区技术初探(一)  MySQL分区技术是用来减轻海量数据带来的负担,解决数据库性能下降问题的一种方式,其他的方式还有建立索引,大表拆小表等等。  MySQL分区按照分区的参考方式来分有RANGE分区、LIST分区、HASH分区、KEY分区。本文对这几种分区方式进行了详细的介绍,并且给出了简单的示例,文章

2013-12-01 15:09:09 922

转载 linux内核编译,不panic

搞了一个星期了,一直都panic,按着这篇文章做了之后就没了。原文:http://www.west263.com/info/html/wangzhanyunying/jianzhanjingyan/20080417/70717_2.html 菜鸟编译Linux内核 双眼皮的猪 菜鸟俺,最近研究了一下Linux内核的编译,有些许心得,望

2013-11-26 19:14:02 457

原创 centos下安装qt-creator可能出现的问题

打开qt-creator,可能因为libstdc++版本过低导致,软件无法使用,换成这个libstdc++-4.8.2-4.fc21.i686就搞定了,原先的版本在使用rpm -e 文件名 ---nodeps就可以忽略依赖关系卸载来,再使用rpm -ivh libstdc++-4.8.2-4.fc21.i686安装上就可以了。

2013-11-25 21:19:36 749

转载 centos下安装QT,出现无法安装libX11的问题

原文:http://blog.csdn.net/zhaole20094463/article/details/7252727编译环境:fedora9.0  交叉编译器:4.3.2 今天在做QT的移植的时候在#tar zxvf qt-x11-opensource-src-4.5.3.tar.gz  #cd qt-x11-opensource-src-4.5.3  

2013-11-25 17:04:42 2575

转载 linux ioctl()函数

我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl     ioctl是设备驱动程序中对设备的I/O通道进行管理的函数 。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它

2013-11-25 14:59:20 547

转载 container_of宏定义分析 浅显易懂!

原文:http://www.cnitblog.com/puppypyb/archive/2008/08/20/48172.aspxlinux内核container_of宏定义分析一、#define offsetof(TYPE, MEMBER) ((size_t) & ((TYPE *)0)->MEMBER )1. ( (TYPE *)0 ) 将零转型为TYP

2013-11-23 16:13:03 521

原创 C的一些总结

变量的地址为指针,存放地址的变量为指针变量。Sizeof(指针变量)为4,因为存放地址的变量为计算机内部的地址总线宽度即32,但是在64位的计算机系统也是为32,即4个字节.   Sizeof(arr)arr为数组名,得到的值为数组的长度。 对于二维数组比如a[3][4],a代表数组元素的地址,现在的首元素不是一个简单的整型元素,而是由4个整型元素所组成的一维数组,因此a代表的是首行(

2013-11-23 15:27:43 420

转载 Linux设备驱动之内存映射

Linux设备驱动之内存映射 [日期:2011-04-11] 来源:Linux社区  作者:chenjin_zhong 1. 内存映射 所谓的内存映射就是把物理内存映射到进程的地址空间之内,这些应用程序就可以直接使用输入输出的地址空间,从而提高读写的效率。Linux提供了mmap()函数,用来映射物理内存。 在驱动程序中,应用程序以设备文件为对象,调用mmap()函数,内核进行

2013-11-22 15:19:20 595

转载 linux内存管理浅析

原文:http://hi.baidu.com/_kouu/item/4c73532902a05299b73263d0linux内存管理浅析[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先

2013-11-21 16:54:01 583

转载 驱动总结之mmap函数实现

原文地址:驱动总结之mmap函数实现 作者:gongping11mmap作为struct file_operations的重要一个元素,mmap主要是实现物理内存到虚拟内存的映射关系,这样可以实现直接访问虚拟内存,而不用使用设备相关的read、write操作,mmap的基本过程是将文件映射到虚拟内存中。在之前的一篇博客中谈到了mmap实现文件复制的操作。关于li

2013-11-21 16:14:38 2977 1

转载 mmap

自:http://hi.baidu.com/flying5/blog 不错的博客,大家可以去看看Linux的mmap文件内存映射机制mmap: memory map在讲述文件映射的概念时, 不可避免的要牵涉到虚存(SVR 4的VM). 实际上, 文件映射是虚存的中心概念, 文件映射一方面给用户提供了一组措施, 好似用户将文件映射到自己地址空间的某个部分, 使用简单的

2013-11-21 14:55:47 588

转载 进程地址空间管理总结

前边我已经说过了内核是如何管理物理内存。但事实是内核是操作系统的核心,不光管理本身的内存,还要管理进程的地址空间。linux操作系统采用虚拟内存技术,所有进程之间以虚拟方式共享内存。进程地址空间由每个进程中的线性地址区组成,而且更为重要的特点是内核允许进程使用该空间中的地址。通常情况况下,每个进程都有唯一的地址空间,而且进程地址空间之间彼此互不相干。但是进程之间也可以选择共享地址空间,这样的进程就

2013-11-18 21:36:24 668

转载 struct vm_area_struct

原文:http://blog.csdn.net/ywf861029/article/details/6114794Linux内核中,关于虚存管理的最基本的管理单元应该是struct vm_area_struct了,它描述的是一段连续的、具有相同访问属性的虚存空间,该虚存空间的大小为物理内存页面的整数倍。  下面是struct vm_area_struct结构体的定义

2013-11-18 19:21:59 657

转载 Linux下和编译器、程序的运行、环境变量等相关的常见问题

索引:(1) Linux下环境变量相关的问题(2) Linux下GNU工具链相关的问题(GNU Toolchain)(gcc/g++/ld/make等等工具)(3) Linux下可执行文件的格式(主要是ELF格式,还有a.out/coff等)和可执行文件的加载(4) 可执行程序执行加载动态库的搜索路径问题Linux编译环境变量(LD_LIBRARY_PATH。。。)ht

2013-11-18 16:40:31 1752

原创 ubuntu下安装QT

一。ubuntu系统装好官网:http://qt.digia.com/http://qt-project.org/downloads里面下载下面2个文件①:qt-everywhere-opensource-src-4.8.5.tar.gz②:qt-creator-linux-x86-opensource-2.8.1.run打开/usr/include/X11里面 看有没有相应的

2013-11-18 16:17:48 892

转载 linux中memcpy和strcpy的区别

linux中memcpy和strcpy的区别  2010-05-20 19:42:12|  分类: linux应用 |  标签:strcpy、memcpy  |字号 订阅strcpy是拷贝字符串,以\0为标志结束(即一旦遇到数据值为0的内存地址拷贝过程即停止)strcpy的原型为:char *strcpy(char *dest, const ch

2013-11-17 14:50:38 589

转载 DMA映射 dma_addr_t

DMA映射一个DMA映射是要分配的DMA缓冲区与为该缓冲区生成的、设备可访问地址的组合。DMA映射建立了一个新的结构类型---dma_addr_t来表示总线地址。dma_addr_t类型的变量对驱动程序是不透明的,唯一允许的操作是将它们传递给DMA支持例程以及设备本身。根据DMA缓冲区期望保留的时间长短,PCI代码有两种DMA映射:1)一致性映射2)流式

2013-11-14 20:56:45 5239

转载 用U盘通过局域网来安装CentOS 6.0

用U盘通过局域网来安装CentOS 6.0  2012-02-11 21:06:57|  分类:rhel自动安装 |  标签: |字号大中小 订阅教程引言:实现目的:用U盘通过局域网来安装CentOS 6.0适用范围:有2台电脑,并且能组建成局域网,要安装CentOS 6.0的电脑支持U盘启动。(此方法比较适合IDC机房给客户机器装机,无需刻

2013-11-11 22:34:08 590

原创 字符设备驱动学习

字符设备驱动的学习1.首先介绍几个重要的结构体:1.1  cdev结构体描述字符设备Struct  cdev{  struct kobject kobj; /*内嵌的kobject对象*/     sruct module *owner;  /*所属模块*/      struct file_operations *ops; //文件操作结构体   St

2013-11-01 19:28:45 447

以太网聊天工具

一款支持UDP和TCP的聊天软件工具,方便简洁。

2013-10-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除