自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

墙外墙的专栏

完美之道, 不在无可增加, 而在不可删减。

  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 GitHub开源项目,欢迎fork

【项目地址】          https://github.com/dingdongnigetou【内容】          有之前做的shell解释器以及指纹签到软件          还有正在写的ARM6410操作系统以及简单的TCP/IP协议栈

2014-04-09 16:31:17 1047

转载 宏内核与微内核,Linux内核与Unix内核

操作系统内核可能是微内核,也可能是单内核(后者有时称之为宏内核Macrokernel)。按照类似封装的形式,这些术语定义如下:单内核:也称为宏内核。将内核从整体上作为一个大过程实现,并同时运行在一个单独的地址空间。所有的内核服务都在一个地址空间运行,相互之间直接调用函数,简单高效。微内核:功能被划分成独立的过程,过程间通过IPC进行通信。模块化程度高,一个服务失效不会影响另外一

2014-03-31 15:53:31 4620

原创 Python匹配相同首字母的名字对

【问题】           寻找名字首字母相同的男孩女孩【方法】     方法一                使用列表推倒式加上if语句:[b + '+' + g for b in boys for g in girls if b[0] == g[0]]     方法二               使用列表推倒式和字典letterGirls =

2014-03-03 15:51:22 2616

原创 Shell解释器(含部分语法分析)

源代码发布在GitHub上, 欢迎大家一起探究。 详细功能请阅读源代码中的REAMDE。【链接】          https://github.com/dingdongnigetou

2014-03-02 20:13:18 1293

原创 Sign In System--Fingerprint(指纹识别系统)

This is a system for sign in. It can use in the class that need it. Maybe you can call it as "Sign In System".It spent me almost one mouth to finish it. In fact, it is not finished because you know that, all of the software have been not finished e

2013-12-31 20:44:26 3071 9

原创 Simple scanner of c

之前在学编译原理, 写了个简单的C语言词法分析工具, 现在拿来跟大家分享下。我用的是Linux环境, 利用Makefile进行整个工程的管理。词法分析的一个point就是DFA, 即有限状态机, 这个学过编译原理的都明白, 我写的这个词法分析工具也只是较简单的, 还不能说完全是个实用的C语言词法分析工具, 但是基本功能还是实现的, 主要是因为学了编译原理的词法分析, 觉得该做点东西来验证一下。

2013-12-31 16:19:06 1217

转载 likely()与unlikely()区别

likely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢?首先明确:if (likely(value))等价于if (value)if (likely(a>b)) {fun1();if (unlikely(value))等价于if (value)也就是说likely()和unlikely()从阅读和理解的角度是一

2013-10-03 09:29:02 1373

原创 迷你shell交互程序的实现

这个程序主要根据APUE里面的例子进行修改优化,增加了参数的读取执行功能。/********************************************************** Program: Read commands form stdin and excute them. History: 2013/04/08 dingdong First re

2013-06-07 23:38:47 1189

原创 shell实现菜单选择

output="Is today your birthay: "echo -e "\n"select menu_selections in Yes No Quitdo case $menu_selections in Yes) echo -e "\nHappy Birthday!\n" ;; No) echo -e "\nIt is someone's birtha

2013-06-07 23:31:05 2427

原创 shell实现旋转线

主要是利用echo配合\b退格,\c不换行来实现直线的原地旋转,可以用于程序的等待过程。#!/usr/bin/bash## SCRIPT: rotate_line# AUTHOR: dingdong# DATE: 2013/06/04# REV: 1.1.A ## PLATFORM: LINUX## PURPOSE: Show the roulette.##

2013-06-04 19:17:14 1341

转载 getopts函数简介

昨天在做code review的时候,看到函数getopt(),似乎没见过,狗狗之,大惊……发现原来自己干过N次愚蠢的事!!!        函数getopt()用来分析命令行参数(可怜的Sam啊……以前还傻愣愣的自己写命令行参数解析函数…I’m too simple…sometimes naive.),其函数原型和相关变量声明如下:        #include unistd.

2013-06-02 20:45:08 1344

原创 51时钟含闹钟(可按键设置)

51时钟(含闹钟)是我做的第一个小东西,包括焊版,包括写代码,完了以后虽然觉得没什么,但是过程还是很享受的,下一个小东西是集成12864,红外,18B20和DS12C887来做个可以显示万年历和温度并且用红外来选择功能的小东西。下面是时钟的代码:#include#include/*延时函数,毫秒级*/void delay(uint z){ uint x,y; for(x

2013-05-29 00:12:18 4092 1

原创 shell编程小笔记

1.大小写的转换:  (1)使用tr命令,ex:tr [a-z] [A-Z]或者tr [A-Z] [a-z]  (2)使用typeset命令,ex:typeset -u 变量名【小写变大写】,typeset -l 变量名【小写变大  写】2.高亮显示文件中的特定文字  sed s/current_string/$(tput smso)new_string$(tput r

2013-05-29 00:11:33 828

原创 I/O缓冲,strlen跟sizeof小分享

今天刚刚看了APUE的fork函数那里,让我对I/O的缓冲有了新的认知,有段代码如下,完整代码的功能是调用fork函数产生一个子进程,并输出全局变量跟自由变量的值,然后父进程再输出全局变量跟自由变量的值,其中write函数是不带缓冲的,而标准的I/O库是带缓冲的,所以当我们执行含有下列代码的程序时,write只会将数据写到标准输出一次(因为不带缓冲)。而print有两种情况了,第一种是交互方式的运

2013-05-27 11:23:34 911

原创 cp(1)命令的简单实现(一)

/****************************************************** Program: program to copy a file. History: 2013/05/25 dingdong First release******************************************************/#includ

2013-05-25 22:42:43 1255

原创 快速排序和合并排序的比较(时间和比较步数)

/*************************************************************************** Program: Compare the time between merragesort and quitsort. History: 2013/04/21 dingdong 完成基本排序算法 2

2013-05-25 22:20:56 1816

原创 ls(1)命令的简单实现(一)

这个命令主要利用opendir函数读出DIR结构体,然后用readdir函数读出struct dirent结构体,最后利用dirent结构体里面的d_name来用lstat函数读出文件的各种属性,最后格式化输出,下面的代码主要实现了无参数的默认文件名输出,还有实现了带‘-l’参数的属性输出,目前只是实现了‘-l’参数,以后再努力实现其他参数。/***********************

2013-05-25 07:50:27 1351

原创 date(1)命令的简单实现

/******************************************************* Program: example for date(1) History: 2013/05/20 dingdong First*******************************************************/#include "apue.h"

2013-05-22 23:40:53 1188

原创 uname(1)的基本实现(C语言)

今天看《unix环境高级编程》里面的一道作业题,实现uname(1),所以自己就动手敲了代码,主要是利用uname函数返回一个结构的指针,然后一一解读结构指针的内容,这个实现还包括参数的配合,用户可以选择参数来输出想要的内容,还可以配合-h参数来输出帮助信息呢。这段代码虽然简单,但是完成后还是挺开心,突然就有个想法,以后要慢慢把Linux上的命令用C语言来实现,加油,我可以的。下面是代码:/*

2013-05-20 23:24:14 2051

原创 51最小系统图

这是我自己学完51单片机后做的一个最小系统,在淘宝上打了样板,100元10片,有点贵,不过最终的板子焊好后还是很欣慰的,毕竟是第一次做板子,有些接线没有考虑,幸好还是可以挽救的,接下来打算做集成万年历、温度计、红外控制的小作品。

2013-05-20 00:02:47 1552

Git从入门到精通

Git,是分布式的版本控制软件,是所有版本控制软件中较好的一个,改文档是Git的官方学习材料,内容由浅到深,带领你进入Git的世界后让你深入去了解这个世界。

2013-12-31

空空如也

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

TA关注的人

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