自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

转载 堆和栈的区别(转过无数次的文章)

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2012-08-15 14:42:22 165

转载 container_of 理解

在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr:        the pointer to the

2012-07-19 13:00:57 166

转载 c语言结构体用法

结构(struct)     结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。 结构中可以使用不同的数据类型。     1. 结构说明和结构变量定义     在Turbo C中, 结构也是一种数据类型, 可以使用结构变量, 因此,  象其它 类型的变量一样, 在使用结构变量时要先对其定义。     定义结构变量的一般格式为:

2012-07-05 09:43:28 182

转载 大端和小端(网络字节序和主机字节序)

大端和小端(网络字节序和主机字节序):大端(Big Endian):即网络字节序。小端(Littile Endian):即主机字节序。记忆方式:网络的范围很大,所以大端是网络字节序。大端方式将高位存放在低地址,小端方式将低位存放在高地址。采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。如果将一个32位的整数0x1234567

2012-06-20 14:17:45 1028

原创 arm下nand flash ,nor flash 和sdram在嵌入式应用中分别起了什么作用?

FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据 (NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来 Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代

2012-06-05 14:52:26 3449

转载 函数指针和指针函数

【函数指针】       在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可

2012-05-31 15:58:07 257

转载 Linux设备驱动(一)-驱动基础概述

Linux系统的设备分为三种基本类型:字符设备(char device),块设备(block device)和网络设备(network device)三种。字符设备指存取时没有缓存必须以串行顺序依次进行访问的设备。 块设备指以块为单位进行操作,读写操作都有缓存来支持,并且可以任意顺序进行访问的设备。 网络设备在Linux里做专门的处理,主要对数据包的接收和发送而设计的。Linux的网络系统

2012-05-23 18:04:36 223

转载 C 函数调用机制 栈帧(stack frame)

函数的调用操作包括:从一块代码到另一块代码之间的双向数据传递换和执行控制。其中:数据传递:函数参数和返回值。大多数CPU上的程序实现使用栈来支持函数调用操作。栈用来传递函数参数、存储返回信息、临时保存寄存器原有值以用于回复以及存储局部数据。单个函数调用操作所使用的栈部分称为栈帧结果(stackframe)。栈帧结构的两端由两个指针来指定。寄存器ebp通常用作栈帧的指针、esp用作栈的指针。esp随

2012-05-21 18:08:11 485

转载 栈帧与实例

每个任务(进程)有一个栈,在这个进程中每个函数被调用时分别从这个栈占用一段区域,称为帧(frame).栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(地址地)。下图为典型的存取器安排,观察栈在其中的位置 入栈操作:push eax; 等价

2012-05-21 18:07:11 319

curl-loader-0.56.tar

curl-loader(也被称为“omes-NIK”和“davilka”)是一个开源的C语言编写的工具,模拟应用负载和成千上万的几十万人的HTTP / HTTPS和FTP/ FTPS的客户端应用程序的行为,每个有其自己的源IP地址。相反,其他curl-loader使用真正的C编写的客户端协议栈,即libcurl和TLS/ openssl的SSL的HTTP和FTP协议栈,支持登录和验证口味和模拟用户行为的工具。

2014-12-11

一个完整的项目

C# 包含操作手册、架构文档、模块设计、演示PPT 源代码

2012-12-05

空空如也

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

TA关注的人

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