自定义博客皮肤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)
  • 收藏
  • 关注

转载 信号量,PV操作题目。

 (一)   图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程) (1)       当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞)(2)       当图书馆中没有座位时,后到的读者不等待,立即回家。 解(1 )设信号量:S=100;  MUTEX=1P(S)

2009-11-13 15:27:00 7259

转载 uC/OS-II中的全局变量声明

 在uC/OS-II的代码中,应用了一种让人耳目一新的全局变量定义方法。在《uC/OS-II》中,作者给出了解释,但是这里还是忍不住要讨论一番。 我们知道,全局变量的使用有两个问题: 1.要给它分配内存,并且只能分配一次。2.在其它模块中也要能通过extern关键字调用。 软件开发网按照平时的定义,如果安排得不好,总是会出问题,extern起来没完。 而在uC/O

2009-10-15 09:10:00 702

原创 C函数返回结构体在汇编下的实现

 编译器:vc++6.0(因为此种实现依赖编译器处理)此处只简要叙述一下机制。并附部分关键指令序列。 准备:1,关于EBP:称做栈基址指针。为什么这样说呢?我们先来看看函数调用的过程:参数从右到左压栈。call指令执行,该指令将导致EIP压栈。每个函数前两句必定是:push ebp   mov ebp,esp。则call指令后,跳到被调函数出开始执行。保存ebp,即

2009-08-05 13:10:00 2367

转载 IEEE754 标准中的浮点表示和与十进制数的手工转换

 从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double能存储更高的精度。     目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。这种结构是一种科学计数法,用符号、指数和尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号。下面是具

2009-07-24 17:47:00 3216

转载 EOF与feof()

 判断文件结束有两种方法:EOF和feof()查看stdio.h可以看到如下定义:#define EOF (-1)#define _IOEOF 0x0010 #define feof(_stream) ((_stream)->_flag & _IOEOF) 由此可以看出,这两种方式的原理是不同的。有人说EOF只能用于文本文件,其实不然,还要看定义的变量的类型。下面这段程

2009-07-16 10:48:00 1419

原创 关于大小端的疑问

      看了多篇关于bigendian和littleendian的解释文章,觉得都说的不够彻底。现记录几点说的不清楚的地方,以作备忘。      首先明确大小端是与cpu相关的,而非系统平台相关的。intelX86为小端。      其次大小端对位移操作没影响。不管大小端,左移都是消高位,右移都是消低位。因为位移操作汇编出来都只有一句:         SHL/SHR   COUN

2009-07-15 10:38:00 1024 1

原创 关于static_cast与danymic_cast的终极解析

 关于static_cast和dynamic_cast:1,附详细代码并解释,总算搞清楚了!class base{ public:  virtual void foo(){}//用于添加虚函数表vtable  int a;};class left_hand:public base{};class right_hand:public base{};class derive:public

2009-04-17 08:44:00 1344 1

原创 关于fstream类拾遗

 关于STL中的fstream类:1,指定要绑定或打开的文件名参数时,一定要写上后缀,若文件在当前路径下(当前源文件路径下),可只写全文件名,否则加上绝对路径。2,用操作符>>从流中读到string中时,遇到空格自动停止,这是由string的设计决定的。因为string将输入流(包括cin)的空格当作结束符,包括换行和结束符。从流中直接读到cout中时,会一直读到文件结束为止。不受空格

2009-04-16 12:22:00 587

原创 关于vector中的assign和resize函数

assign函数需要2个参数,第一个参数指定新的size,第2个指定每个元素都取的value。size()函数返回assign中的第一个参数值。调用该函数一定要指定第2个参数值,调用完后,是全新的size,全新的值。 resize函数有2个重载版本,一个只有一个size_type参数,一个除了size_type参数外还有_Ty _val,即“可选”新元素值。 先说第一个版本: 

2009-04-15 21:42:00 4833

空空如也

空空如也

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

TA关注的人

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