自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lewis的专栏

明白本心,继续奔跑!

  • 博客(30)
  • 资源 (5)
  • 收藏
  • 关注

原创 smdk6410:uboot内存分配

注:以上显示的是虚拟地址,如0xC000_0000~0x5000_0000。linux内核运行入口物理地址为0x5000_8000,对于虚拟地址为0xC000_8000。oxC000_0000以前地址映射到外部存储器,如nand flash、sd卡。

2013-10-31 17:08:09 715

转载 关于u-boot中的.balignl 16,0xdeadbeef的理解

.balign解释.balign,编译器的一个伪操作符。伪操作符的意思就是机器码里,并没有一个汇编指令与其对应,是编译器来实现其功能的。如:.balign 8, 0xba意思是在以当前地址开始,在地址为8的倍数的位置的前面填入一个字节内容为0xba的内容。当当前地址正好是8的倍数,则没有东西被写入到内存。依此类推,.balignw则表示第二个参数存入的内容长度为一个

2013-10-30 11:12:34 838

原创 Source Insight3.5使用技巧

1)按住“Ctrl”,再用鼠标指向某个变量(或函数),点击一下,就能进入这个变量(或函数)的定义。2)Alt+F12:可以让显示界面中的每个字符宽度一致。3)Shift+F8:标亮所有文本中光标所在位置的单词。4)Ctrl+G或F5:跳到某一行。5)Ctrl+O:跳到工程窗口find文本框。6)F7:显示整个source insight工程的symbols参数(比如要查找的函数

2013-10-30 09:47:36 2449

原创 线程池

一、什么是线程池应用程序可以有多个线程,这些线程在休眠状态中需要耗费大量时间来等待事件发生。其他线程可能进入睡眠状态,并且仅定期被唤醒以轮循更改或更新状态信息,然后再次进入休眠状态。为了简化对这些线程的管理,.NET框架为每个进程提供了一个线程池,一个线程池有若干个等待操作状态,当一个等待操作完成时,线程池中的辅助线程会执行回调函数。线程池中的线程由系统管理,程序员不需要费力于线程管理

2013-10-28 17:31:59 549

原创 时间编程

时间类型世界标准时间UTC(Coordinated Universal Time):即众所周知的格林威治标准时间(Greenwich Mean Time,GMT)。日历时间(Calendar Time):是用“从一个标准时间点(1970年1月1日0点)到此时经过的秒数”来表示的时间。时间获取#include time_t time(time_t *tloc)功能:获取日

2013-10-28 16:53:02 606

转载 bss段、data段和text段

在采用段式内存管理的架构中(比如intel的80x86系统),一个程序本质上都是由 bss段、data段、text段三个组成的。BSS段:BSS段(Block Started by Symbol segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。一般在初始化时bss 段部分将会清零(bss段属于静态内存分配,即程序一开始就将其清零了)。数据段:数据段(da

2013-10-25 15:05:35 795

原创 C++之基础练习题

C与C++的差异【题目1】C和C++中struct有什么区别?【参考答案】 Protection行为能否定义函数C无不能,但可以有函数指针C++private能【题目2】C++中的struct和class有什么区别?【参考答案】从语法上讲,class和

2013-10-25 14:34:54 3279 1

转载 C程序编译执行过程

编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序–>可执行文件1. 编译预处理读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理[

2013-10-23 17:34:19 745

原创 Shell学习笔记

Shell脚本第一行必须是如下格式:#!/bin/sh符号#!用来指定该脚本文件的解析程序。当编辑好脚本后,如果要执行该脚本,还必须使其具有可执行属性。可以用如下命令:chmod +x filename注释在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。如果使用了注释,即使相当长的时间内没有使用该脚本,也能在很短的时间内明白该脚本的作用及工作原理。变量

2013-10-22 21:55:13 605

原创 C语言练习之基础题

基本类型考察【题目1】请填写 bool , float,  指针变量  与“零值”比较的 if  语句。    提示:这里“零值”可以是 0, 0.0 , FALSE 或者“空指针” 。例如 int  变量 n  与“零值”比较的 if  语句为:     if ( n == 0 )     if ( n != 0 )     以此类推。(1)请写出 bool

2013-10-22 17:33:35 1459

原创 C++练习之程序编写

【程序1】题目:编写一个函数,函数接收一个字符串,是由十六进制数组成的一组字符串,函数的功能是把接到的这组字符串转换成十进制数字.并将十进制数字返回。参考答案:BOOL HexToDec(LPCTSTR shex, int& idec)   { int i, mid;    int len = lstrlen(shex);    if(len>8)    r

2013-10-22 12:21:53 1327 1

原创 C语言练习之程序编写

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去      掉不满足条件的排列。2.程序源代码:main(){ int i,j,k; printf("\n"); for(i=1; i<5; i++)    /*以下为三重

2013-10-18 17:35:19 964

原创 struct dirent和DIR

struct dirent#include struct dirent{    long d_ino;                                 //inode number 索引节点号    off_t d_off;                                  //offset to this dirent 在目录文件中的偏

2013-10-17 17:12:38 1508

原创 struct termios

/*密码回显*的函数*/int inputpsword(char *pass){ int i, j; char inletter; struct termios term, termsave; //专门的结构体termios int fd = -1; fd = open("/dev/tty", O_RDWR | O_NOCTTY); //open一个tty句柄 if(fd

2013-10-16 09:16:37 1580

原创 各种内部排序的比较

各种内部排序按所采用的基本思想(策略)可分为:插入排序、交换排序、选择排序、归并排序和基数排序,它们的基本策略分别是:1  插入排序:依次将无序序列中的一个记录,按关键字值的大小插入到已排好序一个子序列的适当位置,直到所有的记录都插入为止。具体的方法有:直接插入、表插入、2-路插入和shell排序。2  交换排序:对于待排序记录序列中的记录,两两比较记录的关键字,并对反序的两个记录进行交换

2013-10-15 15:16:20 909

原创 基数排序

基数排序(Radix Sorting) 又称为桶排序或数字排序:按待排序记录的关键字的组成成分(或“位”)进行排序。排序思想⑴  首先以静态链表存储n个待排序记录,头结点指针指向第一个记录结点; ⑵  一趟排序的过程是:     ①  分配: 按Kd值的升序顺序,改变记录指针,将链表中的记录结点分配到r个链表(桶)中,每个链表中所有记录的关键字的最低位(Kd)的值都相等,用f[i]

2013-10-15 15:00:38 871

原创 归并排序

归并排序算法链接排序思想①  初始时,将每个记录看成一个单独的有序序列,则n个待排序记录就是n个长度为1的有序子序列;②  对所有有序子序列进行两两归并,得到┏n/2┓个长度为2或1的有序子序列——一趟归并;③  重复② ,直到得到长度为n的有序序列为止。       上述排序过程中,子序列总是两两归并,称为2-路归并排序。其核心是如何将相邻的两个子序列归并成一个子序列。设

2013-10-14 16:06:19 783

原创 堆排序

堆的定义是n个元素的序列H={k1, k2 , … kn} ,满足:        由堆的定义知,堆是一棵以k1为根的完全二叉树。若对该二叉树的结点进行编号(从上到下,从左到右),得到的序列就是将二叉树的结点以顺序结构存放,堆的结构正好和该序列结构完全一致。堆的性质①  堆是一棵采用顺序存储结构的完全二叉树, k1是根结点;②  堆的根结点是关键

2013-10-13 21:38:13 810

原创 直接选择排序

排序思想     选择排序: 每次从当前待排序的记录中选取关键字最小的记录表,然后与待排序的记录序列中的第一个记录进行交换,直到整个记录序列有序为止。      直接选择排序,也叫简单选择排序。     基本操作:通过n-i次关键字间的比较,从n-i+1个记录中选取关键字最小的记录,然后和第i个记录进行交换,i=1, 2, … n-1 。排序示例设有关键字序列为:7

2013-10-12 17:33:16 765

原创 快速排序

排序思想        通过一趟排序,将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录进行下一趟排序,以达到整个序列有序。排序过程       设待排序的记录序列是R[s…t] ,在记录序列中任取一个记录(一般取R[s])作为参照(又称为基准或枢轴),以R[s].key为基准重新排列其余的所有记录,方法是:◆所有关键字比基准小的

2013-10-11 17:30:38 1155

原创 冒泡排序

排序思想      依次比较相邻的两个记录的关键字,若两个记录是反序的(即前一个记录的关键字大于后前一个记录的关键字),则进行交换,直到没有反序的记录为止。① 首先将L->R[1]与L->R[2]的关键字进行比较,若为反序(L->R[1]的关键字大于L->R[2]的关键字),则交换两个记录;然后比较L->R[2]与L->R[3]的关键字,依此类推,直到L->R[n-1]与L->R[n]的关

2013-10-11 14:34:15 732

原创 插入排序

直接插入排序排序思想将待排序的记录Ri,插入到已排好序的记录表R1, R2 ,…., Ri-1中,得到一个新的、记录数增加1的有序表。 直到所有的记录都插入完为止。       设待排序的记录顺序存放在数组R[1…n]中,在排序的某一时刻,将记录序列分成两部分:◆ R[1…i-1]:已排好序的有序部分;◆ R[i…n]:未排好序的无序部分。       显然,在刚开始排序时

2013-10-11 10:24:49 792

原创 ok6410按键驱动与测试

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2013-10-07 23:04:55 639

转载 Madplay移植到OK6410全过程详解

madplay交叉编译交叉编译器:arm-linux-gcc 4.3.2PC环境:Red Hat 5.4注意:最好在root权限下执行以下移植,否则在make install时可能权限不够。一、移植madplay前的准备madplay的移植需要以下的几个包:libid3tag-0.15.1b.tar.gz、libmad-0.15.1b.tar.gz、madplay-0.15

2013-09-28 17:56:39 1359

原创 linux内核升级

linux内核升级下载内核解压内核源码压缩文件进入内核目录,执行清理工作配置内核编译内核模块安装内核模块制作initrd拷贝内核镜像bzImage和initrd到/boot修改grub配置文件,添加新的启动项保存该配置文件后重启计算机以下以fedora17内核升级到linux-3.4.5为例:1. 下载内核到Linux官方网站下载内核

2013-07-07 12:16:40 776

原创 Socket

Socket创建一个socket描述符int socket(int domain, int type, int protocol);返回一个套接字描述符;如果出错,则返回 -1。domain:即协议域,又称为协议族(family)。常用的协议族有,AF_INET、AF_INET6、AF_LOCAL(或称AF_UNIX,Unix域socket)、AF_ROUTE等等。

2013-06-08 22:25:28 636

原创 二叉树

二叉树一 二叉树的存储结构1.1 顺序存储结构#define MAX_SIZE  100typedef telemtype sqbitree[MAX_SIZE];1.2 链式存储结构typedef struct BTNode{ ElemType data ; struct BTNode *Lchild , *Rchild;}BTN

2013-05-28 17:25:57 1041

原创 队列

队列队列(Queue):是运算受限的线性表。是一种先进先出(First In First Out ,简称FIFO)的线性表。只允许在表的一端进行插入,而在另一端进行删除。队首(front) :允许进行删除的一端称为队首。队尾(rear) :允许进行插入的一端称为队尾。一 队列的静态顺序存储#define MAX_QUEUE_SIZE 100typedef struc

2013-05-28 15:19:08 770

原创

栈栈(Stack):是限制在表的一端进行插入和删除操作的线性表。又称为后进先出LIFO (Last In First Out)或先进后出FILO (First In Last Out)线性表。栈顶(Top):允许进行插入、删除操作的一端,又称为表尾。用栈顶指针(top)来指示栈顶元素。栈底(Bottom):是固定端,又称为表头。空栈:当表中没有元素时称为空栈。一 栈的静态顺序存

2013-05-27 16:00:46 643

原创 线性表

线性表:顺序表和链表六种基本操作:InitList(&L)            //构造一个空的线性表LListLength(L)           //获取线性表L的元素个数GetNode(L, i)           //获取线性表L第i个元素LocateNode(L, e)        //查找线性表值为e的元素的位置ListInsert(

2013-05-25 21:26:40 828

C#练习Code源码

与本人C#教程课件配套的源码,每章都有相关的练习源码。

2014-05-12

C#/CSharp配套习题练习和答案

与本人C#教程课件配套的习题和答案,可参考使用。

2014-05-12

C#、CSharp课件PPT

很好的一个C#的学习教程,非常全面,而且又不像课本那么繁杂,可供初学者学习,进入工作岗位的人快速复习。

2014-05-12

空空如也

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

TA关注的人

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