自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 C/C++中的随机数函数

C++中的随机数函数C++中产生随机数种子对于初学者一直都很困惑.大家知道,在C中有专门的srand(N)函数可以轻松实现这一功能,然而在C++中则要复杂一些.下面是笔者学习的一点心得,希望对大家能有所帮助.(这里我们依然要借助C标准库中的rand()函数)  函数说明:   int rand();                                      

2009-04-16 08:45:00 3060

原创 mirsa c

Rule 1. 严格遵循ANSI C89标准,不允许任何扩展。Rule 3. 如果要嵌入汇编语言,则必须将所有汇编语句包装在C函数里,而且这些函数中只有汇编语句,没有常规C语句。   Rule 7. 不得使用三元操作符(? : )Rule 10. 不得残留被注释掉的废代码。Rule 11. 所有标识符不超过31字符。Rule 12. 不同名空间中的变量名不得相同。        例如:      

2009-03-04 15:12:00 928 1

原创 Malloc

       首先提出一个问题,如果使用malloc申请分配内存的时候,如果传入的字节长度为0,会出现一个什么样的情况?函数会出错吗?如果不会出错,那么又会返回一个什么样的值?是NULL吗?        刚刚遇到这个问题,我也很疑惑,于是作了个简单的例子作测试:在VC6.0中测试#include #include #include int main(){char *ptr;if ((ptr

2009-03-03 15:05:00 644

原创 sync

  名称 : sync   使用权限 : 系统管理者   使用方式 : sync   说明 : Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中

2009-01-12 20:45:00 444

原创 Makefile

1. 获取内核版本当设备驱动需要同时支持不同版本内核时,在编译阶段,内核模块需要知道当前使用的内核源码的版本,从而使用相应的内核 API。2.4 与 2.6 内核下,源码头文件 linux/version.h 定义有:LINUX_VERSION_CODE ― 内核版本的二进制表示,主、从、修订版本号各对应一个字节;KERNEL_VERSION(major, minor, release

2009-01-09 14:42:00 612

原创 优先级

优先级 从下到下 运算符解释结合方式() [] -> .括号(函数等),数组,两种结构成员访问由左向右! ~ ++ -- + -  * & (类型) sizeof否定,按位否定,增量,减量,正负号, 间接,取地址,类型转换,求大小由右向左* / %乘,除,取模由左向右

2009-01-05 10:20:00 457

转载 引用

 2. 什么是“引用”?申明和使用“引用”要注意哪些问题?  答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型

2008-12-28 19:39:00 428

转载 内存分配

1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。         2.在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。         3.从堆上分配,亦称动态内存分配。程序在运行的时候用ma

2008-12-26 11:16:00 449

转载 串口 并口

 从原理来看,并行传输方式其实优于串行传输方式。通俗地讲,并行传输的通路犹如一条 多车道的宽阔大道,而串行传输则是仅能允许一辆汽车通过的乡间公路。以古老而又典型的标准并行口(Standard Parallel Port)和串行口(俗称COM口)为例,并行接口的位宽为8,数据传输率高;而串行接口只有1位,数据传输速度低。在串行口传送1位的时间内,并行口可以传送一个字节。当并行口完成单词“advanc

2008-12-25 10:13:00 671

转载 SPI

SPI接口介绍     SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。~_SV `io     SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移

2008-12-24 15:35:00 529

转载 MMU需要读取物理内存来实现进程的输入输出

 MMU需要读取物理内存来实现进程的输入输出 读取过程使用的数据是可操作的,包括着提供的虚拟地址、虚拟地址到物理地址的映射。 大段引用 “ X86 MMU提供的模式有4K/2M/4M的PAGE模式(根据不同的CPU, 提供不同的能力), 此处提供的是目前大部分OS使用的4K PAGE模式的描述. 并且不提供ACCESS CHECK的部分. (毕竟不是完整的CPU手册. &O1514;) 2.   

2008-12-18 16:56:00 472

转载 kmalloc vmalloc

 对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。  进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间。  内核空间中,从3G到vmalloc_

2008-12-18 14:37:00 533

转载 fcntl()

     功能描述:根据文件描述词来操作文件的特性。   用法:   int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock);     参数:   fd:文件描述词。 cmd:操作命令。 arg:供命令使用的参数。 lock:同上

2008-12-14 17:21:00 990

转载 一些好的习惯 c

 1.1 版权和版本的声明版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有:(1)版权信息。(2)文件名称,标识符,摘要。(3)当前版本号,作者/修改者,完成日期。(4)版本历史信息。 /** Copyright (c)* All rights reserved.* * 文件名称:filename.h* 文件标识:见配置管理计划书* 摘    要:简要描述本文件的内容*

2008-12-14 12:04:00 766

转载 进程上下文和中断上下文

 进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。 处理器总处于以下状态中的一种:1、内核态,运行于进程上下文,内核代表进程运行于内核空间;2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;3

2008-12-14 11:58:00 324

空空如也

空空如也

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

TA关注的人

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