- 博客(27)
- 资源 (11)
- 收藏
- 关注
shell写俄罗斯方块二
前面一节,我们在屏幕上画出了俄罗斯方块,现在我们让它动起来,呵呵,动起来...思想就是通过改变x,y的坐标,在屏幕的不同地方绘制图形。方法是通过方向键(A S D W)来改变x,y的坐标。先来看看shell中的信号处理吧一、trap捕捉到信号之后,可以有三种反应方式(1)执行一段程序来处理这一信号(2)接受信号的默认操作(3)忽视这一信号...
2016-07-24 22:35:00 257
shell写俄罗斯方块(一)
shell能是命令行解释器,shell脚本是命令的有序结合。在网上看到一位哥们用shell语言写了一个游戏,俄罗斯方块,佩服呀。为了弥补童年的不足,我们一起用shell语言开始编写我们自己的俄罗斯方块吧。我们先来回顾一下,俄罗斯都有哪些方块吧。box0=(0 0 0 1 1 0 1 1)box1=(0 2 1 2 2 2 3 2 1 0 1 1 1 2 ...
2016-07-24 22:33:00 279
函数调用-----压栈的工作原理
1.开篇 本篇文章着重写的是系统中栈的工作原理,以及函数调用过程中栈帧的产生与释放的过程,有可能名字过大,如果不合适我可以换一个名字,希望大家能够指正,小丁虚心求教!如果有哪里写的不清楚的或者错误的地方请及时更正,小丁再次谢过了。文章里面有错别字,也可能会有好友说寄存器的32、16位的区别其实我感觉这里主要讲的还是些原理性的东西,后续会将文章图片错别字进行调整.(图片里面的pos...
2016-07-24 22:26:00 957
一步一步解决表达式计算问题
//链式栈的实际应用-----表达式计算思考:如果我想要用栈实现下列公式的计算,该怎么办?(注:这里先不考虑空格问题)//1+123*5;char buf[1024];思考:"123"如何转换成整型数123?答案:int data = 0;for(i = 0;i < 3;i++){data = data * 10 + buf[i] - '\0';}...
2016-07-04 11:14:00 277
球钟问题
代码详解:head.h#ifndef _HEAD_H_#define _HEAD_H_#include <stdio.h>#include <stdlib.h> //malloc#include <string.h> //memst#define N 27 //球钟中球的数量typedef int DataType;/...
2016-07-01 16:43:00 194
约瑟夫问题
约瑟夫问题设编号分别为:1,2,3,....n的n个人围坐成一圈。约定序号为k(1 <= k <= n)的人从1开始计数,数到m的那个人出列,他的下一位又从1开始计数,数到m的那个人又开始计数。依次类推,直到所有的人都出列为止。如上图所示,假设n = 8,k = 3,m = 4时。则出列分别为6,2,7,4,3,5,1,8。解题思路...
2016-07-01 14:30:00 113
zImage和UImage的区别
(1)、内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。6...
2016-06-26 11:54:00 132
系统移植的四大步骤
最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命令就可以完成非常复杂的功能,可是我们有没有想过,为什么会有这样的效果?如果没有去追问,只是机械地完成,并且看到实验效果,这样做其实并没有真正的掌握系统移植的本质。在做每一个步骤的时候,首先问问自己...
2016-06-26 11:48:00 2577
UEFI和Legacy及UEFI+Legacy启动的区别
近年来,随着win8的流行,UEFI BIOS启动方式慢慢的出现了,随之对系统的更换带来了不少的问题,不过大多情况下都仍默认以Legacy BIOS方式启动。首先解释一下什么是BIOS,然后在解释一下什么是UEFI BIOS和Legacy BIOS: (1)BIOSBIOS是英文"Basic Input Output System"的缩略词,直译过...
2016-06-26 11:46:00 894
单总线和多总线的区别
在计算机系统的硬件组成中,总线(Bus)是不可缺少的一部分,将各大基本部件按照一定的方式链接起来就构成了计算机硬件系统。就目前来讲,许多微型计算机的各大部件之间都是用总线链接起来的。 总线是一组能够为各部件提供服务的公共信息传送线路,它能够分时地发送与接收各部件的信息,是计算机系统各部件之间传输地址、数据和控制信息的公共通道,CPU通过总线实现读取指令,并实现与内存、外设之间的数据交换,在CP...
2016-06-26 11:43:00 3803 1
gdb简介
一、GDB简介今天,我们就来简单的讲解一下gdb调试的用法,详见下图!gdb.c#include <stdio.h>int add_range(int low,int high){ int i,sum; for(i = low;i <= high;i++) { sum = sum + i; } return sum;...
2015-12-31 11:30:00 162
深入浅出 - Android系统移植与平台开发(八)- HAL Stub框架分析
1. HAL Stub框架分析HAL stub的框架比较简单,三个结构体、两个常量、一个函数,简称321架构,它的定义在:@hardware/libhardware/include/hardware/hardware.h@hardware/libhardware/hardware.c[cpp]view plaincopy/*...
2015-09-16 12:15:00 107
Android中HAL如何向上层提供接口总结-hw_device_t
1 什么是HALHAL的全称是Hardware Abstraction Layer,即硬件抽象层.其架构图如下:Android的HAL是为了保护一些硬件提供商的知识产权而提出的,是为了避开linux的GPL束缚。思路是把控制硬件的动作都放到了Android HAL中,而linux driver仅仅完成一些简单的数据交互作用,甚至把硬件寄存器空间直接映射到user sp...
2015-09-15 14:48:00 142
VIM插件配置
VIM插件配置一.前言本文旨在配置自己的vim,笔者发现,ubuntu系统安装好了之后,本身自带的vim编辑器使用起来不是很方便,因此,自己写了一个配置脚本,分享给大家来使用。(注:笔者使用的是ubuntu12.04版本,其他版本可能配置不同)。二.使用方法1.安装vim编辑器,注意要求ubuntu系统能够正常联网。 sudo apt-get install ...
2015-09-13 21:32:00 139
linux SVN安装及配置图解教程
下载相关软件wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gzwget http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz编辑1、查看是否安装了svn工具命令:rpm -qa | grep subve...
2015-07-30 15:26:00 256
文件构成及软连接、硬连接详解
文件构成及软连接、硬连接详解一、简介大家在windows下可以看到我们桌面上有一些程序。双击它就可以运行了。在我们桌面上的图标只是一个快捷方式,它真正的运行路径是在其他的磁盘中。这个就是我们的windows中链接。我们的Linux系统中也存在类似的形式,我们Linux中的链接形式有两种,一种叫做软链接,一种叫做硬连接。在讲解之前,大家需要先知道一些文件的基本知识。Lin...
2015-05-28 18:14:00 231
网络基本知识详解
网络基本知识详解一、网络基本概念<1>IP地址接入因特网的计算机与我们接入电话网的电话很相似,我们每台计算机或者路由器都有一个由授权机构分配的号码,称为IP地址。例如,我们中国的代号是086,如果中国境内某单位的电话号码为85225566,所在的地区号为010,那么,这个单位的电话号码完整的表述应该是086-010-85225566。该电话号码在全世界范围内是唯一的...
2015-05-28 18:04:00 180
linux基础命令详解(必记)
linux基础命令一、常用基本命令了解(必记)<1>ls 显示当前目录下的文件及目录参数:-a 显示所有的文件,包括隐藏文件(以.开头的文件)-l 显示当前目录下的文件及目录属性-lh 显示当前目录下的文件及目录属性,并且K,M,G为单位显示文件大小<2>pwd 显示当前工作目录所在的绝对路径<3>cd 切换工作目录 常用: cd ...
2015-05-28 17:57:00 129
vi编译器的三种模式
Vi编辑器的三种模式一、简介Vi编辑器是一个命令行编辑器,类似于我们windows下的记事本。它有以下三种模式。<1>命令模式:vi界面默认进入的模式,可以输入命令来执行多种功能。例如:光标的 移动,字符、行的移动等。<2>插入模式(编辑模式):输入我们文本内容。在命令模式下一般按下以下三个键之 ...
2015-05-28 17:53:00 1057
Android Camera Subsystem 架构(Binder机制)及显示分析(3) .
Camera Display对于AP层用户,通过Camera界面, 以最直观的方式能够从Camera显示窗口中看到的Camera Display主要包括三部分。各部分的具体细节如下所示。(1)Camera Preview Display对于Camera Preview Display, 从Camera应用程序的角度来看,AP层需要实现Android.hardware.Camer...
2015-05-20 14:01:00 139
devfs、sysfs、udev文件系统
一、devfs linux下有专门的文件系统用来对设备进行管理,devfs和sysfs就是其中两种。 在2.6内核以前一直使用的是devfs,devfs挂载于/dev目录下,提供了一种类似于文件的方法来管理位于/dev目录下的所有设备,我们知道 /dev目录下的每一个文件都对应的是一个设备,至于当前该设备存在与否先且不论,而且这些特殊文件是位于根文件系统上的,在制作文件系统的时候我们...
2015-05-03 22:24:00 139
copy_to_user、copy_from_user 分析
在内核的学习中会遇到很多挺有意思的函数,而且能沿着一个函数扯出来很多个相关的函数。copy_to_user和copy_from_user就是在进行驱动相关程序设计的时候,要经常遇到的两个函数。由于内核空间与用户空间的内存不能直接互访,因此借助函数copy_to_user()完成用户空间到内核空间的复制,函数copy_from_user()完成内核空间到用户空间的复制。下面我们来仔细的理一下这两...
2015-05-03 22:11:00 274
MIPI CSI-2规范(一)——概述及层级
MIPI CSI-2规范(一)——概述及层级译者:围补CSI-2概述 CSI-2规范定义了发送者和接收者之间传输和控制接口的标准数据。数据传输接口(指CSI-2)是单向差分串行接口,传输数据和时钟信号;接口的物理层说明文档参见《MIPIAlliance Specification for D-PHY》[MIPI01]。图1描述了CSI-2发送者和接收者之间的连接关系,是一个典型...
2015-04-29 10:28:00 360
pthread_cond_signal和pthread_cond_wait简介
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式...
2015-04-27 15:44:00 148
ubuntu软件包管理机制
ubuntu软件包详解一、简单介绍 Ubuntu Linux采用了Debian的软件包管理机制。由于软件包具有易用性、灵活性和扩展性的特点,再加上再加上Internet的支持,使用户随时都能拥有最新的 Ubuntu系统,这也是Ubuntu受到推崇的一个重要原因。因而,Deb软件包管理也成为Ubuntu中最有活力的部分。本章将介绍ubuntu软件包管理器...
2015-04-09 13:49:00 1007
TCP、UDP、IP 协议分析
互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄出了TCP/IP协议。现在几乎所有的操作系统都实现了TCP/IP协议栈。TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图所谓的协议就是双方进行数据传输的一种格式...
2014-02-04 22:41:00 1179
linux2.6.14内核移植到CVT2410上的详细过程
2012-02-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人