自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

转载 [Linux C]CGI编程

在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理,或者是把它们保存起来,或者是按内容进行一些查询,或者是一些别的什么。没有了CGI,WEB的世界就完全失去了它的交互性,所有的信息都变成单向的了,而不能够有任何的反馈。

2016-12-31 19:22:47 669

原创 [C练习]字符串逆序

1. 编写一个函数,字符串逆序:hello worldvoid reverse(char *str,int len)

2016-12-30 22:59:01 672

原创 [C练习]蛇形代码

1. 编写一个程序,输出类似的蛇形代码:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9

2016-12-30 22:55:47 473

转载 Linux中对文件删除函数unlink的操作

原文转自:http://blog.chinaunix.net/uid-26983585-id-3245451.html看了unlink()函数是对文件的删除,于是写了一个函数进行测试之,结果发现在调用了unlink以后仍然可以对文件进行读写操作,又看了一下书才明白是我没有明白unlink函数的真正含义:删除目录相并减少一个连接数,如果链接数为0并且没有任何进程打开该文件,该文件内容才能被真正删除,但是若又进程打开了该文件,则文件暂时不删除直到所有打开该文件的进程都结束时文件才能被删除。测试代码:

2016-12-28 20:50:52 960

转载 Web服务器

随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。本节主要介绍这种应用的开发和移植工作。用户首先需要在嵌入式设备上成功移植支持脚本或CGI功能的Web服务器,然后才能进行应用程序的开发。

2016-12-27 20:19:12 507

原创 [嵌入式]S5PV210通信接口

S5PV210通信接口一.UART接口1. UART接口概念数据通信的基本方式可分为并行通信与串行通信两种。并行通信:是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求通讯速率较高的应用场合。串行通信:是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。

2016-12-26 20:25:35 936

原创 [嵌入式]A/D转换器

A/D转换器8.1 A/D转换原理 在我们的日常生活中,会遇到很多的物理量,遇到很多的物理参数,其中,我们经常遇到的物理参数,如电流、电压、温度、压力、速度等电量或非电量都是模拟量。 模拟量的大小是连续分布的,且经常也是时间上的连续函数。要使计算机或数字仪表能识别、处理这些信号,必须首先将这些模拟信号转换成数字信号;而经计算机分析、处理后输出的数字量也往往需要将其转换为相应模拟信号才能为执行机构所接受。这样,就需要一种能在模拟信号与数字信号之间起桥梁作用的电路—模数和数模转换器。

2016-12-26 20:16:33 8682

原创 [嵌入式]定时器

定时器7.1 通用定时器概述 定时器或计数器的逻辑电路本质上是相同的,它们之间的区别主要在用途上。它们都是主要由带有保存当前值的寄存器和当前寄存器值加1或减1逻辑组成,其内部工作原理图是以一个N位的加1或减1计数器为核心,计数器的初始值由初始化编程设置,计数脉冲的来源有两类:系统时钟和外部事件脉冲。

2016-12-24 18:16:13 8351 1

原创 [嵌入式]异常与中断(下)

异常与中断6.5 S5PV210的中断编程中断跳转流程 ARM处理器响应中断的时候,总是从固定的中断异常向量取地址开始的,而在高级语言环境下开发中断服务程序时,无法控制从固定地址处开始至中断服务程序的跳转流程。为了使得上层应用程序与硬件中断跳转联系起来,需要编写一段中间的服务程序来进行连接。这样的服务程序常被称作中断解析程序。 每个异常向量对应一个4字节的空间,正好放置一条跳转指令或者向PC寄存器赋值的数据访问指令。具体中断跳转流程如图。

2016-12-23 19:45:02 2268

原创 [嵌入式]异常与中断(上)

异常与中断6.1 概述 嵌入式系统中,微处理器控制I/O端口或部件的数据传送方式有2种:程序查询方式和中断方式。程序查询方式是由微处理器周期性地执行一段查询程序来读取I/O端口或部件中状态寄存器的内容,并判断其状态,从而使微处理器与I/O端口或部件在进行数据、命令传送时保持同步。程序查询方式下效率非常低,因为微处理器要花费大量时间测试I/O端口或部件的状态。并且I/O端口或部件的数据也不能得到实时地处理。 中断方式是I/O端口或部件在完成了一个I/O操作后,产生一个信号给微处理器,这个信

2016-12-23 19:41:13 2562

原创 [嵌入式]存储器管理

存储器管理5.1 存储器分类存储器组织结构在复杂的嵌入式系统中,存储器系统的组织结构按作用可以划分为4级:寄存器、cache、主存储器和辅助存储器,如下图所示。当然,对于简单的嵌入式系统来说,没有必要把存储器系统设计成4级,最简单的只需寄存器和主存储器即可。

2016-12-21 14:00:16 1196

原创 [嵌入式]S5PV210微处理器GPIO编程

第四章 S5PV210微处理器GPIO编程4.1 S5PV210硬件资源 S5PV210是一款32位精简指令集计算机(RISC),具有低成本、低功耗、高性能的微处理器解决方案,适用于手机及一般应用。它集成了ARM Cortex-A8的内核,并实现了ARM构架的V7-A的配套外设。 S5PV210采用64位的内部总线架构,包括许多强大的硬件加速器,用来完成像运动视频处理、显示控制和缩放等任务。集成多格式编解码器(MFC)。S5PV210拥有一个外部存储器,能够承受高端通信服务所需要的大记忆频宽

2016-12-20 23:09:59 2543 1

原创 [嵌入式]Cortex-A8处理器编程(下)

第3章 Cortex-A8处理器编程3.6 指令系统ARM伪指令不属于ARM指令集中的指令,是为了编程方便而定义的。伪指令可以像其它ARM指令一样使用,但在编译时这些指令将被等效的ARM指令代替。ARM伪指令有四条,分别为ADR伪指令、ADRL伪指令、LDR伪指令、NOP伪指令。ARM伪指令——小范围的地址读取ADR伪指令将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中。在汇编编译器编译源程序时,ADR伪指令被编译器替换成一条合适的指令。通常,编译器用一条ADD指令或SUB指令

2016-12-19 18:08:07 1080

原创 [嵌入式]Cortex-A8处理器编程(中)

Cortex-A8处理器编程3.5 寻址方式寻址方式是根据指令中给出的地址码字段来寻找真实操作数地址的方式。ARM处理器支持的基本寻址方式有以下几种:(1)寄存器寻址 所需要的值在寄存器中,指令中地址码给出的是寄器编号,即寄存器的内容为操作数。例如指令:ADD R0,R1,R2 ;R0=R1+R22) 立即寻址 立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的地址码部分不是操作数地址,而是操作数本身。例如指令:SUBS R0,R0,#1 ;R0ß

2016-12-18 16:10:14 1052

原创 [嵌入式]Cortex-A8处理器编程(上)

Cortex-A8处理器编程3.1 ARM编程简介·在嵌入式系统开发中,目前使用的主要编程语言是C和汇编。很多地方,例如开机时硬件系统的初始化,包括CPU状态的设定、中断的使能、主频的设定、以及RAM的控制参数及初始化等都使用汇编语言。汇编语言是和CPU的指令集紧密相连的,作为涉及底层的嵌入式系统开发,汇编语言编程不可或缺的重要方法。·ARM嵌入式系统程序设计和所使用的ARM微处理器资源密切相关。只有了解ARM微处理器的工作模式、状态、存储器组织、寻址方式,并且掌握ARM的指令系统,才有可能写出适用的

2016-12-18 15:06:18 2038

原创 [嵌入式]ARM Cortex-A8体系结构

第2章 ARM Cortex-A8体系结构1. ARM微处理器采用RISC架构的ARM微处理器一般具有如下特点:1) 体积小、低功耗、低成本、高性能;2) 支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;3) 大量使用寄存器,指令执行速度更快;4) 大多数数据操作都在寄存器中完成;5) 寻址方式灵活简单,执行效率高;6) 指令长度固定。

2016-12-16 20:00:03 1081

原创 [嵌入式]嵌入式系统概述

1.1 嵌入式系统概述·嵌入式系统的定义 嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可剪裁、适应于对系统功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。 这个定义主要包含两个信息,一是嵌入式系统是专用计算机系统,因此必须要有处理器,具备计算机系统的基本特征。二是嵌入式系统的功能是有严格要求并按照指定的应用而设计的。

2016-12-16 19:57:40 7991 1

原创 [C++]输入/输出流类库

56:ASCII表示为 00110101 00110110,占两字节56:二进制表示为 111000,占六个二进制位不同的文件操作的函数、格式不同 文本文件的打开与关闭在文件操作前,需要将程序与被操作的文件联系起来,使程序可以“引用”文件。在程序内定义一个文件类的对象,由该对象与文件发生联系,程序内所有的与文件的操作都是对该对象的操作。

2016-12-14 22:59:42 635

转载 [C++]显示调用构造函数和析构函数

总结:显示调用构造函数和析构函数就想调用一般的函数一样,并不意味着创建或销毁对象。但是注意,如果构造函数中动态分配了空间,则显示调用构造函数会出现内存泄露;如果析构函数中释放动态分配的空间,则会出现多次释放统一内存,会出现严重错误。

2016-12-13 16:12:18 906

原创 [C++]运算符重载

运算符重载函数的重载所谓函数的重载是指完成不同功能的函数可以具有相同的函数名。C++的编译器是根据函数的实参来确定应该调用哪一个函数的。int fun(int a, int b){ return a+b; }int fun (int a){ return a*a; }void main(void){ cout<<fun(3,5)<<endl; cout<<fun(5)<<endl;} 1、定义的重载函数必须具有不同的参数个数,或不同的参数类型。只有这样编译

2016-12-13 15:56:06 937

原创 [C++]类的其它特性

类的其它特性友元函数类中私有和保护的成员在类外不能被访问。友元函数是一种定义在类外部的普通函数,其特点是能够访问类中私有成员和保护成员,即类的访问权限的限制对其不起作用。友元函数需要在类体内进行说明,在前面加上关键字friend。一般格式为:

2016-12-11 22:18:45 609

原创 [C++]继承和派生类

继承和派生类继承性是面向对象程序设计中最重要的机制。这种机制提供了无限重复利用程序资源的一种途径。通过C++语言中的继承机制,可以扩充和完善旧的程序设计以适应新的需求。这样不仅可以节省程序开发的时间和资源,并且为未来程序增添了新的资源。

2016-12-10 14:28:03 910

原创 [C++]类和对象(三)

构造函数与new运算符·以使用new运算符来动态地建立对象。建立时要自动调用构造函数,以便完成初始化对象的数据成员。最后返回这个动态对象的起始地址。·用new运算符产生的动态对象,在不再使用这种对象时,必须用delete运算符来释放对象所占用的存储空间。·用new建立类的对象时,可以使用参数初始化动态空间。

2016-12-09 18:13:45 646

原创 [C++]类和对象(二)

成员函数的重载类中的成员函数与前面介绍的普通函数一样,成员函数可以带有缺省的参数,也可以重载成员函数 。重载时,函数的形参必须在类型或数目上不同。可以有缺省参数的成员函数,若形参不完全缺省,则必须从形参的右边开始缺省。缺省参数的成员函数

2016-12-09 00:24:16 777

原创 [C++]类和对象(一)

类和对象按钮对象:按钮的内容、大小,按钮的字体、图案等等针对按钮的各种操作,创建、单击、双击、拖动等班级对象:班级的静态特征,所属的系和专业、班级的人数,所在的教室等。这种静态特征称为属性;班级的动态特征,如学习、开会、体育比赛等,这种动态特征称为行为。任何一个对象都应当具有这两个要素,一是属性(attribute);二是行为(behavior),即能根据外界给的信息进行相应的操作。对象是由一组属性和一组行为构成的。

2016-12-09 00:21:15 723

原创 [C++]指针和引用(四)

链表是由一个个结点组成,每一个结点是一个结构体类型的变量,各个结点的类型相同,但其地址不一定连续。具体结点的个数根据需要动态开辟。每个结点由两部分组成,第一部分放若干数据,第二部分是指针变量,放下一结点的地址。链表头是一指针变量,放第一个结点的地址,若结点的第二部分的值为NULL,表示此链表结束。

2016-12-06 16:19:24 403

原创 [C++]指针和引用(三)

引用对变量起另外一个名字 (外号),这个名字称为该变量的引用。<类型> &<引用变量名> = <原变量名>;其中原变量名必须是一个已定义过的变量。如:int max ;int &refmax=max;refmax并没有重新在内存中开辟单元,只是引用max的单元。max与refmax在内存中占用同一地址,即同一地址两个名字。对引用类型的变量,说明以下几点:1、引用在定义的时候要初始化。int &refmax; 错误,没有具体的引用对象int &refmax

2016-12-05 22:05:11 455

转载 [C++]C++中的虚函数

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。

2016-12-04 20:52:02 287

原创 [C++]指针和引用(二)

指针和引用数组名作函数参数数组名可以作函数的实参和形参,传递的是数组的地址。这样,实参、形参共同指向同一段内存单元,内存单元中的数据发生变化,这种变化会反应到主调函数内。在函数调用时,形参数组并没有另外开辟新的存储单元,而是以实参数组的首地址作为形参数组的首地址。这样形参数组的元素值发生了变化也就使实参数组的元素值发生了变化。

2016-12-04 20:48:19 414

原创 [C++]指针和引用(一)

指针和引用指针的概念数据在内存中是如何存取的?系统根据程序中定义变量的类型,给变量分配一定的长度空间。字符型占1个字节,整型数占4个字节.....。内存区的每个字节都有编号,称之为地址。

2016-12-02 20:47:11 634

转载 [C++] 冒泡排序的模板函数设计

说明 由于课程设计需要,特编写本程序。本程序首先定义了一个冒泡程序的模板函数,然后在main()函数中定义了两个不同类型的数组,调用模板函数对其进行排序。(注意,本程序是在Linux下编写,但是直接拷贝到windows中的VC页可以直接运行)

2016-12-01 17:52:45 854

Unix网络通信卷1+卷2

Unix网络通信卷1+卷2进程间通信全!

2017-08-07

通讯录(C++版本)

C++实现的简单通讯录,使用了vector容器,迭代器等,希望对大家有参考意义~

2017-02-13

空空如也

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

TA关注的人

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