自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 资源 (7)
  • 收藏
  • 关注

转载 Live555学习(一)--编译、安装、运行

2012-03-09 10:00:23|  分类:Live555 |  标签:|字号大中小 订阅Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPE

2013-02-18 14:05:33 1124

转载 内存(2013)

出处:http://blog.csdn.net/drshenlei/article/details/4339110原文标题:Anatomy of a Program in Memory原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下。一来自己复习,二来与大家分享。]     内存

2013-02-03 22:57:07 622

转载 关于stdint.h头文件

stdint.h是c99中引进的一个标准C库的头文件.  stdint.h中定义了一些整数类型,规则如下(其中N可以为8,16,32,64)   intN_t, int_leastN_t, int_fastN_t表示长度为N位的整型数;   uintN_t, uint_leastN_t, uint_fastN_t表示长度为N位的无符号整型数 ;   stdint.h中的常量

2013-02-03 22:54:28 1339

原创 2012--小鸟总结

事业:2012 我仍然是一只奋斗的小鸟作为一个女生 对于我选择这行业 有人诧异 有人敬佩 也有人偷偷的呲之以鼻就像一只蜘蛛 拼命的织网 总想爬的高 看些更美的风景别人的网 是很多年 一点点积累 才爬到这样的高度 而现实对于我 没有“很多年”,我必须拼了命的织 才可以离他们近些 不至于落到最后 看不到风景 还有被吃掉的风险 在奋斗过程中 也曾低迷过 已经爬到至高点的人 却

2013-02-03 22:42:32 503

转载 free 2012-12-21

今天在网上看到了这样一个问题,“如果malloc 了一块字符串的内存,然后,它改变了这个字符串的大小,问会不会有一部分内存没有被释放掉。”这个问题,以前的确没有仔细想过。  当然,我觉得是肯定会释放掉的,但是一直没有了解过free 的原理,不敢乱说。我看了一下操作系统的内存管理,基本上是这样的,当然各个系统的实现不一样。  操作系统管理内存,维护了一个空闲内存链表,malloc从个链表中选

2012-12-21 15:53:11 483

转载 linux下gcc编译生成静态及动态库

在Linux下如何使用GCC编译程序、简单生成 静态库及动态库。本文适用于Linux下开发初学者。本文初步讲解在Linux下如何使用GCC编译程序、简单生成静态库及动态库。一、关于安装。一般系统默认是安装好编译器的,并且网络上有大量资料介绍不同发行版本下的安装问题,本文不再描述。二、C编程中的文件后缀名介绍.a 静态库(打包文件).c 未经过预处理的C源码.h

2012-12-21 11:36:13 412

转载 电脑族正确姿势防腰痛

坐姿 俗话说“坐有坐相,立有站相,走有行相,睡有卧相”。正确的坐、立、行、卧姿势,能保持脊柱正常的生理弧度,符合人体力学原理,对预防腰痛非常重要。人的坐姿可谓五花八门,在日常生活中,绝大多数人的坐姿是不正确的。坐姿不好容易使脊柱生理曲线受到破坏而变形,造成腰部软组织慢性劳损,而发生腰痛。同时还会造成神经、血管和淋巴管的紧张,使肌肉僵硬,人就会显得老态龙钟。正确的坐姿应该是坐时脊柱尽可能符合生理弧度

2012-12-19 17:26:25 569

翻译 linux内存管理-20121217

Linux内存管理摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨

2012-12-18 10:53:13 491

原创 老板主动为你升职的7个超强法则

如果你想快速升职,除了努力工作外,还要懂得聪明的工作,善于经营个人品牌。以下是7个职场黄金法则,让老板主动为你升职加薪。被奉为“职场宝典”的《杜拉拉升职记》一火再火。有人说,杜拉拉,是比比尔?盖茨更值得参考的职场偶像!她没有背景,条件也不出众。却通过自己的不断揣摩、学习,从小助理一步一步做到了高管。你呢?是否仍在默默努力却好像升职无望?看到别人升迁只有羡慕的份儿?专家认为,想升职,仅仅wo

2012-12-18 10:49:31 806

转载 c语言程序段分类大全

根据C语言的特点,每一个源程序生成的目标代码将包含源程序所需要表达的所有信息和功能。目标代码中各段生成情况如下:1.代码段(Code)        代码段由程序中的各个函数产生,函数的每一个语句将最终经过编译和汇编生成二进制机器代码(具体生成哪种体系结构的机器代码由编译器决定)。        ? 顺序代码        基本数学运算(+,-),逻辑运算(&&,||),位运算(&

2012-05-25 10:00:13 732

转载 指针-----函数指针

指针-----函数指针2010-09-07 17:05函数指针的声明:函数指针包括两部分信息:1).函数本身的内存地址2).函数参数和返回值类型信息因此,声明一个函数需要包括以下三部分内容:1)函数返回值类型2)指向函数的函数指针名3)函数参数类型列表函数指针声明通式:       return_type (*fun_pointer_

2012-05-25 09:32:39 479

转载 中断解析

中断是什么中断的汉语解释是半中间发生阻隔、停顿或故障而断开。那么,在计算机系统中,我们为什么需要“阻隔、停顿和断开”呢?举个日常生活中的例子,比如说我正在厨房用煤气烧一壶水,这样就只能守在厨房里,苦苦等着水开——如果水溢出来浇灭了煤气,有可能就要发生一场灾难了。等啊等啊,外边突然传来了惊奇的叫声“怎么不关水龙头?”于是我惭愧的发现,刚才接水之后只顾着抱怨这份无聊的差事,居然忘了这事,于是慌

2012-05-17 21:23:47 1178

转载 浅谈C中的malloc和free

一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。void free(void *FirstByte): 该函数

2012-05-14 17:19:26 359

转载 冒泡

最近有个想法:工作之余,在linux下,用c/c++把常用的算法重写一遍。当然,对算法的认识,我仅限于皮毛,我不可能超越那些前辈先知,但我仍想,用自己的方式演示一遍,只当自娱自乐吧!秉承一贯的原则,不讲大道理,只演示关键代码demo,开始算法之旅的第一个算法-----冒泡排序。1、编辑文件BubbleSort.c,内如如下:1.#include    2.void bubbleSort

2012-05-13 00:13:05 345

转载 静态链接库

在C语言的层面上,对代码的重复利用通常是通过库(library)的方式来实现的。传统意义上的库指的是以后缀.a结尾的文件。严格来讲,函数库应当分为两种:静态链接库和动态链接库,也称动态共享库。静态链接库通常是指以.a为后缀的文件,而动态链接库则常常以.so为后缀名。静态链接库其实就是把一个或多个目标文件(即编译生成的.o文件)归档在一个文件中。此后,当需要使用这个静态库中的某个功能时,将这个静

2012-05-13 00:11:56 628

转载 创建动态链接库

创建动态链接库:#gcc –shared –Wall –fPIC bar.o foo.o –olibfoobar.so    或手动指定库路径$ gcc -o foobar main.c-llt -B /path/to/lib  这里的-B 选项就添加 /path/to/lib 到gcc搜索的路径之中。这样链接没有问题但是方法II中手动链接好的程序在执行时候仍旧需要指定库路径(链接

2012-05-13 00:10:42 408

转载 EOF

EOF是 End Of File 的缩写。在C语言中,它是在标准库中定义的一个宏。(1) 判断文件结束多数人认为文件中有一个EOF,用于表示文件的结尾. 但这个观点实际上是错误的,在文件所包含的数据中,并没有什么文件结束符. 对getc 而言, 如果不能从文件中读取,则返回一个整数 -1,这就是所谓的EOF. 返回 EOF 无非是出现了两种情况,一是文件已经读完; 二是文件读取出错,反正是

2012-05-13 00:09:22 530

转载 素数

[日期:2012-03-14]来源:Linux社区  作者:shimachao 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。初级版_Bool Isprimer(unsigned n)  {              if(nreturn false;

2012-05-12 23:50:10 382

转载 水仙花

C语言经典题目:水仙花数[日期:2012-03-14]来源:Linux社区  作者:shimachao题目:打印出100-999以内的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。程序分析:

2012-05-12 23:48:35 479

转载 进程

进程是多道程序设计的操作系统的基本概念。进程是程序运行的实体。他是描述程序已经执行到了何种程度的数据结构的汇集,也是操作系统分配系统资源(cpu时间,内存,磁盘)的实例。一. 进程描述符进程是比较抽象的概念,linux下描述进程的数据结构为进程描述符。进程描述符代表了一个进程所有的数据结构,文件,以及运行上下文。进程描述符是这么的复杂,在linux中大约占用1.7K个字节,完全读懂他还是有

2012-05-12 23:45:08 390

转载 软中断

Linux内核学习笔记:中断的下半部分[日期:2012-03-31] 来源:Linux社区  作者:yaozhenguo2006  因为中断的处理过程中,同种类型的中断是被禁止的。并且中断处理应该越短越好,这样才能减少丢失的中断。所以linux将中断处理分为两部分。关键紧急的事情在中断上下文处理,不紧急或者花费时间较多的事情在所谓的下半部分中执行。中断的下半部分是一种内核机制,它运行的

2012-05-12 23:43:54 879

转载 中断异常

Linux内核学习笔记:中断与异常[日期:2012-03-31] 来源:Linux社区  作者:yaozhenguo2006  中断分为同步中断与异步中断。同步中断也叫异常是CPU执行特定的指令产生的事件,他打断CPU正常执行的指令而执行设定好的指令。异步中断也叫中断是由CPU外部中断信号产生的,每个CPU都有一个或多个中断引脚,当引脚上出现中断中断信号的时候,CPU就会停止执行当前的

2012-05-12 23:42:34 388

转载 程序段及const

一.C语言程序的存储区域1.由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语言文本文件生成汇编程序,汇编过程把汇编程序形成二进制机器代码,连接过程则将各个源文件生成的二进制机器代码文件组合成一个文件。 2.C语言编写的程序经过编译-连接后,将形成一个统一文件,它由几个部分组成。在程序运行时又会产生其他几个部分,各个部分代表了不同的存

2012-05-12 23:04:52 954

转载 内存堆栈(5.11)

C语言中堆和栈的区别[日期:2012-04-05] 来源:Linux社区  作者:tigerjb  一.前言:C语言程序经过编译连接后形成编译、连接后形成的二进制映像文件由栈,堆,数据段(由三部分部分组成:只读数据段,已经初始化读写数据段,未初始化数据段即BBS)和代码段组成,如上图所示:1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等值。其操作方

2012-05-12 22:28:27 465

转载 进制转换

用C语言代码实现n进制数转换为十进制数[日期:2012-04-06] 来源:Linux社区  作者:junjieguo   用C语言代码实现n进制数转换为十进制数为了实现进制之间的相互转化,编程实现输入任意一个数并输入该数的进制,然后将其转换为10进制并输出。主要思路是将输入的数存入一个一维数组中然后进行相应处理。1.#include    2.#include

2012-05-12 22:26:34 534

转载 最大公约最小公倍数

用C语言求两个数的最大公约数和最小公倍数[日期:2012-04-06] 来源:Linux社区  作者:junjieguo   求最大公约数,就是求较小的一个数的约数同时也能被较大的数整除,把他求到最大就可以了。求最小公倍数,就是求较大的一个数的倍数(同时也能整除较小的数),求最小的。1、1."># include   2.  3.int  main(void)  4

2012-05-12 22:25:35 580

转载 linux库文件

Linux 的库文件[日期:2012-04-10] 来源:Linux社区  作者:yangzhongxuan  1.什么是库在windows平台和linux平台下都存在着大量的库。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。

2012-05-12 22:18:00 566

转载 详解C中volatile关键字

volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序: short flag;

2012-05-12 21:35:35 292

转载 Linux系统C语言学习总结

Linux系统C语言 引言  尽管 C 语言问世已近 30 年,但它的魅力仍未减退。C 语言继续吸引着众多的开发者,他们为了编写、移植或维护应用程序而必须学习新技能。  本文是为了满足对C语言初学者或想提高自身C语言修为的开发人员的需要而写的。希望对您的学习和工作有所帮助。您也许不赞同其中的某些方法,但我们希望您会喜欢其中的一些。  本文不介绍作为一个程序员应掌握得语言细节,而

2012-05-12 21:29:06 390

转载 堆栈分区(5.9)

五大内存分区在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,

2012-05-10 15:43:53 452

转载 linux四个维度

linux系统是软件开发历史上的一个传奇。来自全球的个人、公司、团体为了完成开放和自由的诉求,在一种松散但是却有效的方式下,成功地创建一个伟大的生态系统。无论从软件的规模和稳定性上面,linux都是首屈一指的。当然这里说的linux更多的是一个生态,它包括内核、驱动、库文件、gui、数据库以及上层应用软件。linux产生的基因决定了它的应用只能局限在一个小的范围内。当然,你可以不服气地说不是还有a

2012-05-09 08:59:06 1548

转载 函数压栈

在编译器编译文件的时候,软件会根据程序本身的要求对函数作不同的压栈处理。有的压栈是按照从左到右进行压栈,有的压栈是按照从右到左进行压栈,有的不压栈、直接用寄存器代替,有的是需要被调用函数自身自己平衡堆栈。下面,我们就可以一个一个自己看看。首先,随便写一个函数,[cpp] view plaincopyint add(int a, int b)  {

2012-05-09 08:57:29 710

转载 编译器如何工作

编译器一直是我比较喜欢的话题。编译器是个比较神奇的工具,它可以把原来毫无意义的字符数据转变成一行一行可以执行的代码。作为每一个科班出身的同学来说,编译原理都是专业学习中必须经历的一个部分。只是在后来的工作中,真正从事编译器开发的同学少之又少,但是如果你懂得了编译原理的相关机理,会给你的工作带来很大的帮助。关于编译原理的书很多,网上可以搜一下有阿霍版本的《编译原理》,有陈火旺院士的《编译原理》,张素

2012-05-09 08:56:35 505

转载 计算机函数调用

01#include 02long test(int a,int b)03{04    a = a + 1;05    b = b + 100;06

2012-05-08 17:48:43 984

转载 深入剖析C/C++函数的参数传递机制

深入剖析C/C++函数的参数传递机制 (转-有修正)作者:leeyeafu(明经CAD社区 编程申请版块 版主)首先,这篇文章针对近期网友在ARX版块的提问,很多都是在调用ARX函数或者设计自定义函数时出现的困惑,为方便大家分析和理解问题,进而正确解决问题,我将个人的一些理解写成文字,希望对大家在做ARX程序设计时有所帮助。同时,这篇文章也为“ObjectARX程序设计入门

2012-05-08 10:06:40 655

转载 内联函数与普通函数的区别是什么

内联函数与普通函数的区别是什么     内联函数是代码被插入到调用者代码处的函数。如同 #define 宏,内联函数通过避免被调用的开销来提高执行效率,尤其是它能够通过调用(“过程化集成”)被编译器优化。     内联函数和宏很类似,而区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编译器控制来实现的。而且内联函数是真正的函数,只是在需

2012-05-08 10:02:04 858

转载 常用数据类型对应字节数

一:常用数据类型对应字节数        可用如sizeof(char),sizeof(char*)等得出        32位编译器:        char:1个字节       char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)       shor

2012-05-07 15:06:29 574

原创 函数与内存堆栈

目标文件和可执行文件的格式?不同的系统的可执行文件有不同的格式。在SVr4实现中都采用了ELF(Extensible and Linker Format,可执行文件夹和链接格式)的格式,在其他系统中,可执行文件的格式是COFF(Common Object-File Format,普通目标文件格式,在BSD UNIX中也有自己自己的格式。可以通过命令man a.out 查看。但是所有

2012-05-02 16:49:24 518

原创 结构体对齐

:按其成员中最大的自身值对齐,是成员最大自身值的整数倍 注:各变量自身值:int 4 long4 floart4  double4 Char 1如果有#parma pack(n) 结构体自身值要为n的整数倍成员对齐:按其成员中最大的自身值对齐如果有#parma pack(n) 将n与最大自身值比较 按两者中最小的对齐

2012-05-02 13:25:07 333

原创 extern

全局变量(外部变量)是在函数的外部定义的,它的作用域为从变量的定义处开始,到本程序文件的末尾。在此作用域内,全局变量可以为本文件中各个函数所引用。编译时将全局变量分配在静态存储区。有时需要用extern来声明全局变量,以扩展全局变量的作用域。1. 在一个文件内声明全局变量全局变量的作用域:只限于定义处到文件终了 其定义点之前不可使用 想用 可以在定义点之前对该变量前+extern

2012-05-02 13:24:11 305

计算机中信息编码

计算机中信息 编码 与存储 看了不后悔的资源

2012-12-09

c语言编译过程想详解

详细讲解c语言的编译过程,并附有图解 很好的资料

2012-03-20

c语言难点及分析

详尽解析c语言学习及面试时常出现的难点 帮你解决常遇到的问题

2012-03-20

sd卡引导linu内核 在arm11中的实现

详尽讲解sd卡引导linux内核 启动开发板的过程

2012-03-18

c++高质量编程

教你如何提高编程效率 及编程的质量 让你的程序更高一筹

2012-03-18

c程序员面试宝典

巧妙回答面试问题 对c中最常见的面试题给予详尽的讲解

2012-03-18

嵌入式系统Bootloader的设计与分析

嵌入式系统Bootloader的设计与分析 简单易懂

2012-03-17

空空如也

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

TA关注的人

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