上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页
摘要: 创建共享内存分以下几个步骤: 1.定义共享内存的结构体; 2.利用CreateFileMapping函数创建共享内存; 3.定义指向共享内存结构体的指针pShareMem,利用MapViewOfFile函数将刚刚创建的内存映射到定义指针pShareMem。 读写共享内存分以下几个步骤: 1.定义共享内存的结构体; 2.用OpenFileMapping函数打开上面创建的共享内存区,该函数返回共享内存的地址; 3.将共享内存映射为文件指针; 4.定义指向共享内存结构体的指针,将共享内存的内容拷贝到结构体指针里。HANDLE hMap;HANDLE hAddress;intiErrCode;//第一 阅读全文
posted @ 2013-03-21 11:14 陳さん様 阅读(676) 评论(0) 推荐(0)
摘要: 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题 为什么标准头文件都有类似以下的结构? #ifndef __INCvxWorksh #define __INCvxWorksh #i... 阅读全文
posted @ 2013-01-23 16:27 陳さん様 阅读(132) 评论(0) 推荐(0)
摘要: 学习过C++已经好长时间了,但是一直都没机会去写C++代码,所以很多东西都已经给遗忘了。趁着假期,我重新找到了C++的学习资料来复习,并且写下一些学习的笔记,供自己以后复习之用。下面是我的关于类的static,const,static const , const static成员的初始化问题的学习笔记。1.类里的const成员初始化: 在一个类里建立一个const时,不能给它初值。像class foo{ private: const int i = 100; public: foo(){} ......};这样的初始化方式是不能通过编译的,因为在类对象里进行了存储空间分配,编译器不能知道co. 阅读全文
posted @ 2013-01-23 13:50 陳さん様 阅读(163) 评论(0) 推荐(0)
摘要: 一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐.其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在 阅读全文
posted @ 2013-01-16 11:03 陳さん様 阅读(206) 评论(0) 推荐(0)
摘要: 在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆,顺序随意。栈,后进先出(Last-In/First-Out)。数据结构与操作系统中的堆栈对比栈(操作系统):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈栈使用的是一级缓存​, 他们通常都是被调用时处于存储空间中,调用完毕立即释放堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。堆则是存放在 阅读全文
posted @ 2013-01-16 10:14 陳さん様 阅读(162) 评论(0) 推荐(0)
摘要: 寄存器的英文全称AH&AL=AX(accumulator):累加寄存器 BH&BL=BX(base):基址寄存器 CH&CL=CX(count):计数寄存器 DH&DL=DX(data):数据寄存器 SP(Stack Pointer):堆栈指针寄存器 BP(Base Pointer):基址指针寄存器 SI(Source Index):源变址寄存器 DI(Destination Index):目的变址寄存器 IP(Instruction Pointer):指令指针寄存器 CS(Code Segment)代码段寄存器 DS(Data Segment):数据段寄存器 阅读全文
posted @ 2013-01-16 09:15 陳さん様 阅读(563) 评论(0) 推荐(1)
摘要: 寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。寄存器的用途:1.可将寄存器内的数据执行算术及逻辑运算。2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。3.可以用来读写数据到电脑的周边设备。8086 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:AH&AL=AX:累加寄存器,常用于运算;BH&BL=BX:基址寄存器,常用于地址索引;CH&CL=CX:计数寄存器,常用于计数;DH&DL=DX:数据寄存器,常用于数据传递。为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Cod 阅读全文
posted @ 2013-01-16 09:07 陳さん様 阅读(1943) 评论(0) 推荐(0)
摘要: 硬件端口CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。 其中硬件领域的端口又称接口,如:并行端口、串行端口等。编辑本段软件端口软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。编辑本段网络端口在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们 这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。编辑本段协议端口如果把IP地址比作一间房子 ,端 阅读全文
posted @ 2013-01-15 10:11 陳さん様 阅读(2403) 评论(0) 推荐(0)
摘要: 32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。4个16位寄存器又可分割成8 阅读全文
posted @ 2013-01-14 11:07 陳さん様 阅读(946) 评论(0) 推荐(0)
摘要: 最近自己整理的找出输入文件中字符个数,行数和计数程序,自我感觉比较简洁,哈哈:注:这里的字是不含空格符,跳格符(TAB)和换行符的:#include <stdio.h>#define YES 1#define NO 0int main(){ int c , nc , nl, nw,inword; inword = NO; nl = nw = nc =0; while((c = getchar()) != EOF) { ++nc; if (c == '\n') ++nl; if (c == ' ' || c == '\n' || c = 阅读全文
posted @ 2013-01-01 14:04 陳さん様 阅读(191) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页