自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

戈多

真正让人头疼的问题是不是问题的问题

  • 博客(14)
  • 资源 (3)
  • 收藏
  • 关注

转载 递归与非递归实现二叉树的遍历

二叉树是一种非常重要的数据结构,很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式,因为树的本身就是用递归定义的,因此采用递归的方法实现三种遍历,不仅代码简洁且容易理解,但其开销也比较大,而若采用非递归方法实现三种遍历,则要用栈来模拟实现(递归也是用栈实现的)。下面先简要介绍三种遍历方式的递归实现,再详细介绍三种遍历方式的非递归实现。一、三种遍历方式

2014-04-30 23:08:57 561

原创 UART与RS-232

在之前的学习中一直不清楚UART与RS-232是什么关系。现在搞清楚了,希望能帮到和我一样的初学者。因为UART控制器集成到芯片中或者通过嵌入式处理器异步总线连接,所以通常从UART发出异步串口时序的逻辑电平都是处理器I/O电压标准(如TTL标准)。要想符合RS232的电器特性,需要有接口电路转换,UART串行RS232如下所示。RS232是嵌入式系统上最常用的,可以直接通过P

2014-04-22 16:19:18 1684

转载 C语言中堆和栈的区别

一.前言:C语言程序经过编译连接后形成编译、连接后形成的二进制映像文件由栈,堆,数据段(由三部分部分组成:只读数据段,已经初始化读写数据段,未初始化数据段即BBS)和代码段组成,如下图所示:1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等值。其操作方式类似于数据结构中的栈。2.堆区(heap):一般由程序员分配释放,若程序员不释放,则可

2014-04-17 22:27:20 484

原创 数据结构(顺序单链表、链式单链表、顺序栈、链式栈、顺序队列、链式队列)

#include #include #define N 10typedef int data_t;typedef struct{ data_t data[N]; int len;}seqlist_t;//创建顺序表seqlist_t *create_seqlist(){ seqlist_t *sl = (seqlist_t *)malloc(sizeof(seqlist

2014-04-17 12:01:03 896

转载 Linux系统结构 详解

转载自:Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。 1. linux内核        内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、

2014-04-15 10:00:00 806

转载 全局变量、局部变量、静态全局变量、静态局部变量的区别

全局变量、局部变量、静态全局变量、静态局部变量的区别C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局

2014-04-09 19:29:27 568

原创 网络编程

网络编程常用函数:创建套接字:socket()

2014-04-08 20:21:36 512

原创 C语言统计单词,空格,符号

#include int main(){ int word = 0; int space = 0; int mark = 0; char ch; while ((ch = getchar()) != '\n') { if ((ch >= 'a' && ch = 'A' && ch <= 'Z') word++; else if (ch == 32) //ch = '

2014-04-08 09:54:50 1226 1

转载 TCP三次握手与四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:

2014-04-03 15:35:35 573

原创 TFTP服务器配置(linux)

TFTP(Trivial File Transfer Protocol)---简单文件传输协议,是TCP/IP协议族中用来在客户机与服务器间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP承载在UDP上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。1.配置tftp服务器:打开终端,输入:sudo apt-get i

2014-04-03 11:14:52 899

转载 基于linux-2.6.35的网络视频服务器移植和ZC301摄像头的驱动支持

一、环境主机环境 :ubuntu 10.10        目标机 :FS2410(S3C2410)        主机工具链 :gcc-4.4.5        交叉工具链 :arm-none-linux-gnueabi-gcc-4.3.2        摄像头 :ZC301二、移植过程1、配置内核是内核支持芯片为ZC301的摄像头        Ma

2014-04-03 10:16:15 694

转载 boa web服务器移植

Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次 完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行,Boa的设计目标是速度和安全。MPlayer版本:madplay-0.15.2b.tar.gz交叉编译器版本:arm-linux

2014-04-02 10:33:18 582

原创 JFFS2 文件系统制作

JFFS2 是一个开放源码的项目(www.infradead.org)。 它是在闪存上使用非常广泛的读/写文件系统,在嵌入式系统中被普遍的应用。这篇文章首先分析了在闪存上使用 JFFS2 的必要性,然后详细的阐述了 JFFS2 实现的内部机制,包括日志结构的文件系统,关键的数据结构,挂载过程和垃圾收集机制。1、配置内核支持 jffs2文件系统  (在内核目录下make menuconfig

2014-04-02 10:23:43 686

原创 交叉编辑链的安装(本地)

1.将交叉编辑链拖入虚拟机中2.解压$tar xvf ---- 3.修改路径vi /etc/bash.bashrc4.重启文件配置source /etc/bash.bashrc5.测试arm-none-linux-guneabi-gcc -v只要这样就表示安装成功了。

2014-04-01 11:20:59 549

linux Codingstyle,K&R编程风格

Codingstyle,K&R。 在大多数二元和三元操作符两侧使用一个空格,例如下面所有这些操作符: = + - * / % | & ^ = == != ? : 但是一元操作符后不要加空格: & * + - ~ ! sizeof typeof alignof __attribute__ defined 后缀自加和自减一元操作符前不加空格: ++ -- 前缀自加和自减一元操作符后不加空格: ++ -- “.”和“->”结构体成员操作符前后不加空格。

2014-02-24

空空如也

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

TA关注的人

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