- 博客(25)
- 资源 (10)
- 收藏
- 关注
转载 Linux中tty、pty、pts的概念区别
基本概念:1> tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。2> pty(虚拟终端):但是如果我们远程telnet
2015-06-30 17:43:17 743
原创 Linux移植添加norflash MTD分区
开发板上只有Nor Flash,所以为了实现层次文件系统,需要为Linux2.6.20增加Nor Flash MTD驱动支持。其实工作量并不大,因为已经有现成的程序可供参考。 MTD的驱动程序都集中在drivers/mtd里面。我们需要做的,仅仅是在drivers/mtd/maps下增加自己的分区表。因为有参考的代码,所以比较容易。 我不知道友善linux2.6.32的内核是
2015-06-25 17:51:14 2103
转载 Flash设备驱动
在linux系统中,提供了MTD(内存技术设备)系统来建立Flash针对linux的统一,抽象接口,MTD将文件系统与底层的Flash存取器进行了隔离,使得Flash驱动工程师无需关心Flash作为字符设备和块设备与Linux内核接口(由MTD层完成)在引入MTD后,Linux系统中Flash设备驱动及接口可分四层(1)硬件驱动层,Flash硬件驱动层负责Flash硬件设备读,写,擦除 L
2015-06-25 00:04:04 787
转载 【驱动】MTD子系统分析
MTD介绍 MTD,Memory Technology Device即内存技术设备 字符设备和块设备的区别在于前者只能被顺序读写,后者可以随机访问;同时,两者读写数据的基本单元不同。 字符设备,以字节为基本单位,在Linux中,字符设备实现的比较简单,不需要缓冲区即可直接读写,内核例程和用户态API一一对应,用户层的Read函数直接对应了内核中的Read例程,这种映射关系
2015-06-24 23:49:29 577
转载 【驱动】Flash设备驱动基础·NOR·NAND
Flash存储器——》Flash存储器是近几年来发展最快的存储设备,通常也称作闪存。Flash属于EEPROM(电可擦除可编程只读存储器),是一类存取速度很高的存储器。——》它既有ROM断电可保存数据的特点,又有易于擦写的特点。Flash可以在断电的情况下长期保存信息,因此被广泛的应用在PC机的BIOS和嵌入式系统的存储设备。Linu
2015-06-24 10:29:41 623
转载 【练习题】编写一个函数,把一个char组成的字符串循环右移n位
例如:原来是”abcdefghi”,如果n = 2,移位后应该是”hiabcdefg”。思路:当读到这个题目的时候,没有编写过类似程序的人可能会想,程序的实现就是依照字符的循环右移这样实现的,但仔细想会发现这样很难实现,不妨换一种思路,我们先把需要移到前面的字符取出来放进一个新的字符数组,接着再把前面的没有移动的部分插到新字符数组的尾部,加上字符串结束标志‘\0’,这样就形成了一个符合要求的新
2015-06-23 23:21:39 3758
原创 【练习题】atoi和itoa函数的实现
int atoi (const char * str); //Convert string to integerchar * itoa ( int value, char * str, int base ); //Convert integer to string (non-standard function)#include #include int my_atoi(con
2015-06-19 00:08:37 1002
转载 atoi() & itoa()函数的内部的实现
/****atox.c - atoi and atol conversion** Copyright (c) 1989-1997, Microsoft Corporation. All rights reserved.**Purpose:* Converts a character string into an int or long.*************
2015-06-17 12:54:46 567
转载 【练习题】回调函数实现泛型算法
回调函数的一个典型应用就是实现类似C++的泛型算法( Generics Algorithm) 。下面实现的max函数可以在任意一组对象中找出最大值,可以是一组int、一组char或者一组结构体,但是实现者并不知道怎样去比较两个对象的大小,调用者需要提供一个做比较操作的回调函数。/* generics.h */#ifndef GENERICS_H#define GENERICS_Ht
2015-06-17 10:15:14 573
原创 【练习题】压缩字符串
编一个函数,输入一个字符串,要求做一个新字符串,把其中所有的一个或多个连续的空白字符都压缩为一个空格。这里所说的空白包括空格、'\t'、'\n'、'\r'。例如原来的字符串是:This Content hoho is ok ok? file systemuttered words ok ok ?en
2015-06-16 18:08:56 818
转载 为什么size_t重要?(Why size_t matters)
之前在《内存拷贝的注意事项》一文中提到过size_t,可能许多人对这个类型不太熟悉没有用过或者根本不敢去用,最近看到一篇文章对这个类型讲的比较详细,便翻译过来让不熟悉的同学可以知道它产生的原因以及如何使用。 原文地址: Why size_t matters 前言:使用size_t可能会提高代码的可移植性、有效性或者可读性,或许同时提高这三者。 在标准C库中的许多函数使用的参数或者返回值都是表
2015-06-16 16:56:25 680
转载 size_t的定义
size_t和ssize_t是ANSI C提供的标准头文件里定义的一个“数据类型”,其实并不是新的数据类型,不是关键字,是通过typedef从已有数据类型定义而来。ANSI C总共提供了24个头文件,他们所处的目录因编译器而异,作者用的编译器是gcc4.3.2,大部分头文件在/usr/include目录下,但是定义size_t和ssize_t的头文件stddef.h则位于/usr/lib/gc
2015-06-16 11:36:39 5187
转载 linux的mount命令详解
linux下挂载(mount)光盘映像文档、移动硬盘、U盘、Windows和NFS网络共享linux是个优秀的开放源码的操作系统,能够运行在大到巨型小到掌上型各类电脑系统上,随着linux系统的日渐成熟和稳定连同他开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的电脑系统都是由UNIX系统、Linux系统和Windows系统组成的混合系统,不同系统之间经常需要
2015-06-15 16:57:50 527
原创 【练习题】解析URL中的路径和查询字符串
动态网页的URL末尾通常带有查询,例如:http://www.google.cn/search?complete=1&hl=zh-CN&ie=GB2312&q=linux&meta=http://www.baidu.com/s?wd=linux&cl=3比如上面第一个例子,http://www.google.cn/search是路径部分, ?号后面的complete=1&hl=zhCN
2015-06-12 13:42:13 1601
原创 【练习题】每隔1秒向文件中写入一行记录
编程读写一个文件test.txt,每隔1秒向文件中写入一行记录,类似于这样:1 2009-7-30 15:16:422 2009-7-30 15:16:43该程序应该无限循环,直到按Ctrl-C终止。下次再启动程序时在test.txt文件末尾追加记录,并且序号能够接续上次的序号,比如:1 2009-7-30 15:16:422 2009-7-30 15:16:433 2009-7-3
2015-06-12 12:41:27 2500
原创 【练习题】编程把INI文件转换成XML文件
一个配置文件由若干个Section组成,由[]括号括起来的是Section名。每个Section下面有若干个key = value形式的键值对( Key-value Pair) ,等号两边可以有零个或多个空白字符(空格或Tab),每个键值对占一行。以;号开头的行是注释。每个Section结束时有一个或多个空行,空行是仅包含零个或多个空白字符(空格或Tab)的行。 INI文件的最后一行后面可能有
2015-06-12 12:19:21 1112 1
转载 fgets函数
从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。
2015-06-11 22:15:59 694
转载 C/C++时间函数的使用
一、获取日历时间time_t是定义在time.h中的一个类型,表示一个日历时间,也就是从1970年1月1日0时0分0秒到此时的秒数,原型是: typedef long time_t; /* time value */可以看出time_t其实是一个长整型,由于长整型能表示的数值有限,因此它能表示的最迟时间是2038年1月18日19时14分07秒。函数time可以获取
2015-06-11 11:08:40 484
转载 strtok和strtok_r函数
NAME strtok, strtok_r - extract tokens from stringsSYNOPSIS #include char *strtok(char *str, const char *delim); char *strtok_r(char *str, const char *delim, cha
2015-06-06 23:26:59 682
转载 Linux中rename命令的用法
刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令,建议大家用mv命令。鉴于此,于是man rename一下,好好的研究了一下它的用法 ,在此对rename命令和mv命令在重命名文件方面做一个比较,有不足之处,希望
2015-06-04 15:54:15 955
转载 linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapplep
2015-06-04 11:19:03 499
原创 linux md5sum 的用法
在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。md5sum是一种计算机程序,用于计算与校验RFC 1321所描述的128位MD5哈希值,此处MD5散列值(或校验和)作一个文件的数字指纹使用。两个不同的文件几乎不可能有相同的MD5哈希值,除非其创建便是刻意为之。一般来说,任何对一个文件的非恶意变更都会导致其MD5哈希值改变,因此md5sum一般用于检查文件完整
2015-06-03 16:53:18 17144
转载 Find命令示例(第二部分)----15个极好的Linux find命令示例
前阵子,我们审查了15件实事 find命令的例子(第一部分)。查找命令可以做很多比只是在寻找基于名称的文件 (第2部分)在这篇文章中,让我们来讨论15高级find命令的例子, 包括-根据它访问,修改或改变的时间查找文件,查找文件相比之下,执行操作找到的文件等, 拉梅什纳塔拉詹:这是我的照片中的可爱的小女儿。她很高兴地发现在加州长滩水族馆海狮。 基于访问/修改/更改时间查找文件
2015-06-03 14:39:53 689
转载 Find命令示例(第一部分)----15个实用的Linux find命令示例
英文原文:Mommy, I found it! — 15 Practical Linux Find Command Examples除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作,使你的命令行之旅更加简易。本文将介绍15种无论是于新手还是老鸟都非常有用的Linux find命令。首先,在你的home目录下
2015-06-03 13:34:54 810
原创 fwrite函数
fwritesize_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );Write block of data to streamWrites an array of count elements, each one with a size of size bytes, from
2015-06-01 16:53:20 3069
LTE—UMTS长期演进理论与实践
2011-11-17
EDA技术实用教程(第三版)答案
2010-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人