自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苏晓的专栏

学习心得

  • 博客(37)
  • 资源 (42)
  • 收藏
  • 关注

原创 编写简单的网络版shell命令解释器

 项目名称:网络版shell命令解释器主要目的:练习socket 编程实现功能:可利用windows 的telnet远程登录服务进到 linux 系统,运行自己编写的shell 命令解析器,进行一些简单的内部命令和外部命令的操作,并把操作的命令和运行的结果显示在windows  的telnet 终端上源代码在http://download.csdn.net/sour

2009-04-30 19:00:00 1324

原创 利用socket编写简单的web 服务器

 项目名称:编写简单的web 服务器主要目的:练习socket 编程、socket并发服务器可行性分析:时间 :2天;涉及知识:socket 编程、进程或线程的应用、web 服务器的服务形式需求分析:1、客户端向服务器发送请求;2、服务器对请求进行应答;3、服务器对不规范的域名进行纠正,发送到客户端;4、服务器遍历目录,若没找到请求的文件或目录,

2009-04-30 18:26:00 2641

转载 Http状态代码指示

Http状态代码 指示:  2xx 成功   200 正常;请求已完成。   201 正常;紧接 POST 命令。   202 正常;已接受用于处理,但处理尚未完成。   203 正常;部分信息 — 返回的信息只是一部分。   204 正常;无响应 —已接收请求,但不存在要回送的信息。   3xx 重定向   301 已移动 —请

2009-04-30 17:43:00 937

原创 学会在linux下的socket 编程

 学习socket 编程之前必须先要理解TCP/IP通信的过程 网络通信的实质:1、解决不同主机进程间的通信.2、首要解决网络间进程标识问题3、解决多重协议的识别问题 OSI 和TCP/IP 的联系        OSI                                                                    

2009-04-27 20:26:00 1549

转载 Linux环境下的Socket编程

转自:http://www.chinalinuxpub.com/read.php?wid=180 什么是Socket   Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。   Socke

2009-04-27 17:25:00 710

原创 浅析 c++ 纯虚函数

一、定义.    纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加"=0"virtual void funtion1()=0二、引入原因:1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象

2009-04-26 15:37:00 8261 5

原创 Linux下Makefile的automake生成全攻略

    作为Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了.在本文中,将介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序

2009-04-25 21:28:00 607

原创 Linux系统调用概述

  Linux系统调用讲义 Linux下系统调用的实现 Linux中的系统调用 Linux中怎样编译和定制内核   Linux下系统调用的实现 Unix/Linux操作系统的体系结构及系统调用介绍 什么是操作系统和系统调用  操作系统是从硬件抽象出来的虚拟机,在该虚拟机上用户可以运行应用程序。它负责直接与硬件交互,向用户程序提供公共服务,并使它们同硬件特

2009-04-25 21:24:00 971

原创 linux系统调用列表

  以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的。 按照惯例,这个列表以man pages第2节,即系统调用节为蓝本。按照笔者的理解,对其作了大致的分类,同时也作了一些小小的修改,删去了几个仅供内核使用,不允许用户调用

2009-04-25 21:22:00 649

转载 Linux系统调用

 Linux系统调用   摘要:本期重点和大家讨论系统调用机制。其中涉及到了一些及系统调用的性能、上下文深层问题,同时也穿插着讲述了一些内核调试方法。并且最后试验部分我们利用系统调用与相关内核服务完成了一个搜集系统调用序列的特定任务,该试验具有较强的实用和教学价值。 什么是系统调用  顾名思意,系统调用说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特

2009-04-25 21:03:00 692

原创 linux下制作静态库和动态库的方法

 我们都知道 *.a 代表静态库;*.so 代表动态库。那么这两个库到底怎么制作呢? 制作静态库的方法:把代码编译为目标文件形式:# gcc -c liberr.c -o liberr.o使用工具ar创建一个存档文件:# ar rcs liberr.a liberr.o编译程序时把程序和liberr.a链接起来:# g

2009-04-25 20:47:00 3408

原创 浮点数在内存中的存储形式

 浮点数:     浮点型变量在计算机内存中占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。一个浮点数由2部分组成:底数m 和指数e。     ±mantissa × 2exponent(注意,公式中的mantissa 和 exponent使用二进制表示)   底数部分 使用2进制数来表示此浮点数的实际值。   指数部分 占用8-bit的二进制数,可表示数值范围为0-25

2009-04-25 20:26:00 5662 2

原创 计算机存储体系结构

 一、引子在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:big-edian和little-endian。本文简要描述这两种存储机制的来

2009-04-25 20:13:00 2461

原创 C语言编译全过程

 编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)1. 编译预处理读取c源

2009-04-25 20:12:00 885

原创 MiniGUI-1.3.3在PC上开发环境的建立

  step 1: 安装库文件#tar zxvf libminigui-1.3.3.tar.gz#cd libminigui-1.3.3#./configure //采用默认的Thread模式,移植到实验箱上时再用Lite模式。#make#make install step 2: 安装资源文件#tar zxvf minigui-res-1.3.3.tar.g

2009-04-25 11:20:00 916

原创 linux 学习第二周小结

   本周学习概况● 系统调用● 标准I/O库● 进程控制● 进程间通信:管道、命名管道、消息队列● 信号的基本操作● 线程的基本操作 具体内容如下:● 系统调用基本命令#who作用: 显示登陆用户名,终端名,登陆时间#open作用 : 打开一个文件头文件 #include 原型 int open(char *name, in

2009-04-24 21:26:00 720

原创 linux 学习第一周小结

  本周学习概况总结:●在windows 下安装虚拟机 ,运行linux 操作系统。linux下一些简单的基本操作命令的学习,入mv、cp、cd、ls等。了解linux各目录文件的作用。vi 文本编辑器的使用。gcc 编译器的使用。gdb 调试器的使用。GNU make的使用。嵌入式开发环境的搭建,包括

2009-04-24 21:23:00 1381

原创 atuomake 步骤详解

  atuomake:多个文件:main.c 、 fun.c和fun.h 1、autoscan 生成configure.scan文件。2、对configure.scan文件进行编辑,并改名为configure.in:AC_PREREQ(2.57) //版本信息AC_INIT(main,1.0) //版本信息AM_INIT_AUTOMAKE(main,1.0) /

2009-04-24 21:16:00 1009

转载 linux 的线程控制

 1.Linux“线程” 笔者曾经在《基于嵌入式操作系统VxWorks的多任务并发程序设计》(《软件报》2006年第5~12期)中详细叙述了进程和线程的区别,并曾经说明Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。大家知道,进程是资源分配的单位,同一进程中的多个线程共享该进程的资源(如作为共享内存的全局变量)。Linux中所谓

2009-04-24 21:08:00 977

原创 指针和引用的区别

   (1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用指针. 由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值. String & rs = string1; 由于没有所谓的 null reference 所以所以在使用前不需要进行测试其是否有值.,而使用指针则需要测试其的有效性

2009-04-24 20:42:00 607

转载 嵌入式C开发人员的最好的0x10道笔试题

  约定:   1) 下面的测试题中,认为所有必须的头文件都已经正确的包含了    2)数据类型             char 一个字节 1 byte        int 两个字节 2 byte (16位系统,认为整型是2个字节)        long int 四个字节 4 byte        float  四个字节4 byet        double 八个字节 8 byt

2009-04-24 20:40:00 1195

转载 想成为嵌入式程序员应知道的0x10个基本问题

 预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年

2009-04-24 20:36:00 547

原创 fflush 的一些用法

 1.为什么 fflush(stdin) 是错的首先请看以下程序:#include int main( void ){    int i;    for (;;)    {      fputs("Please input an integer: ", stdout);      scanf("%d", &i);        printf("%d/n", i);    }    return

2009-04-24 09:04:00 1140

转载 内存对齐

        转自:也谈内存对齐 - [技术前沿] 明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bigwhite.blogbus.com/logs/1347304.html在最近的项目中,我们涉及到了“内存对齐”技术。对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的“管辖范围”。编译器为程序

2009-04-24 08:58:00 482

原创 “回车”和“换行”的区别

2009-04-24 08:57:00 549

原创 常见的内存错误及其对策

  内存分配方式内存分配方式有三种:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3)从堆上分配,

2009-04-24 08:52:00 667

原创 wget 使用指南

   wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。wget可以跟踪HTML页面上

2009-04-24 08:50:00 428

原创 Termios 百科

Termios  TERMIOS  解说:  Linux中的控制台界面,要大量用到Termios库的内容。但是,总的来看,这些东西已经过时了,应该用更简单的方案来代替它了,尽管它是POSIX标准的一部分。  termios的实现中,有大量的参数设置,还有伪终端的说法。原因就在于当初UNIX发明时,(上世纪七十~八十年代),在美国,西欧大学里面用的都是大型机加客户终端,学生们用的是串口方式与大型机进

2009-04-24 08:39:00 1053

原创 两天学习Qt 编程

 学习笔记: 动态库 *.so静态库 *.a 标准的头文件在 /usr/include 下,系统编译时默认自动到这搜索。用户可通过 在命令中加 –I 库路径> 到额外指定的头文件搜索自己包含的头文件。 系统默认的链接库搜索路径在 /usr/lib , /lib –l 指定要链接的具体库名 -L 到额外库搜索的路径例:g++ hello.cpp –o

2009-04-23 21:50:00 1239 1

转载 C函数调用机制

 3.4  C与汇编程序的相互调用为了提高代码执行效率,内核源代码中有的地方直接使用了汇编语言编制。这就会涉及在两种语言编制的程序之间的相互调用问题。本节首先说明C语言函数的调用机制,然后举例说明两者函数之间的调用方法。3.4.1  C函数调用机制在Linux内核程序boot/head.s执行完基本初始化操作之后,就会跳转去执行init/main.c程序。那么head.s程序是如何

2009-04-23 19:34:00 2958 2

原创 浅析linux 下的/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件

  /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该

2009-04-23 19:29:00 1310

原创 Qt 黑白棋分别在linux 字符界面和arm机下运行

 API常用版本:QtopiaCore --X86 、Qt-X11、 Qt-windowslinux文字界面下用QtopiaCore—X86linux图形界面下Qt-X11windows下用Qt-windows后两者直接安装就能用了,没什么可说的   现在试试QtopiaCore--X86(可缺省)在linux 字符界面下运行Qt程序 编译# ./configure -em

2009-04-23 19:09:00 2804

原创 编写简单的shell命令解析器

                                                     编写简单的shell命令解析器环境:RedHat 9.0    内核 2.4.20vi 文书编辑器  6.1.320gcc  3.2.2-5 实现步骤: 第0步:写一个最简单的shell命令解释器,本程序取自APUE例1-5,命令不能带参数。 需要完成的

2009-04-22 21:13:00 8760 6

原创 用Qt 编写黑白棋程序

                                                              用Qt 编写黑白棋程序     前言:这是继三天学习c++后,学习了两天Qt 做的项目。      软件设计开发流程:瀑布模型:可行性分析时间:共8天(其中前两天学习Qt3.1 与Qt4.3.5,中间编程,最后的两天用来移植到arm

2009-04-22 20:17:00 8135 2

原创 三天学会C++

  ●派生类的声明一般格式:class 派生类名:派生方式 基类名{//派生类新增的数据成员和成员函数};如:class employee:public person{       char department[20];       float salary;public://…};●派生方式公有派生class

2009-04-22 19:57:00 1185

原创 三天学会C++

                                                      三天学会c++  之二结构与类 结构与类的主要区别是:默认访问级别不同,结构默认是public,类默认是private。C++中的结构: 可以看作是用struct关健字创建的类C++中,结构的成员(数据和函数)通常分两类:私有成员:private,它只能被

2009-04-22 18:37:00 1393

原创 三天学会C++

                                                  三天学会C++  之一    ●对象与类的概念 对象是现实世界中的一个实体,其特征是:1、每一个对象必须有一个名字以区别于其它对象;2、用属性(或叫状态)来描述它的某些特征;3、有一组操作,每一个操作决定对象的一种行为。类的精确定义:具有共性的实体的抽象,类是创建对象

2009-04-22 17:34:00 1540

<<嵌入式CC++语言精华文章集锦>>

<<嵌入式CC++语言精华文章集锦>> 内含很多具体的嵌入式开发时应注意的细节

2009-04-26

<<嵌入式系统的C语言>>

<<嵌入式系统的C语言>> 译自《C for Embedded Systems》讲稿 刘永重 译

2009-04-26

Linux C函数库参考手册

《Linux C函数库参考手册》详细介绍了linux下各种c函数的功能、函数原型

2009-04-25

跟我一起写makefile

《跟我一起写makefile》帮助你极短时间内学会写Makefile

2009-04-25

GNU make 中文手册(新)

《GNU make 中文手册》(新)介绍Makeflie 的编写规则

2009-04-25

MiniGUI-1.3 安装包

内含四个包 libminigui-1.3.3.tar.gz minigui-res-1.3.3.tar.gz qvfb-1.0.tar.gz mg-samples-1.3.0.tar.gz

2009-04-25

linux c 常用函数查询

linux c 常用函数查询,包括函数原型、基本用法、功能、使用的例子

2009-04-25

Linux command

<<Linux command>>是linux 下常用命令基本用法、功能的查询

2009-04-25

《C 和指针》 中文版

C 语言入门学习参考,可做为工程人员参考和指针,详细介绍了指针

2009-04-24

linux 学习代码thread pthread gpio IO

thread pthread gpio IO 学习过程中的练习代码

2009-04-24

unix环境高级编程

《unix环境高级编程》被誉为“unix圣经”,无论是初学者还是工程人员,都能从中找到自己的所需

2009-04-23

unix 环境高级编程

《unix 环境高级编程》,被誉为“unix 圣经”,其讲解深入浅出,适合初学者与工程人员参考

2009-04-23

unix 环境高级编程

《unix 环境高级编程》,被誉为“unix 圣经”,其讲解深入浅出,适合初学者与工程人员参考

2009-04-23

Windows 编程模型

Windows 的历史 Windows 的基本风格 Windows 的类 创建Windows Windows 事件句柄 事件驱动编程和事件循环 打开多个窗口

2009-04-23

LRC 歌词解析项目

移植到凌阳SPCE3200实验箱上的歌词解析项目

2009-04-22

学生信息管理系统源代码

简单的学生信息管理系统,供c入门者练习,主要涉及指针、链表的操作

2009-04-22

简单的shell 命令解析器项目

实现简单的内部命令、外部命令、重定向和管道命令等

2009-04-22

LRC 歌词解析项目

LRC 歌词解析项目 运行环境vc6.0

2009-04-22

qt 黑白棋项目源代码包

qt 黑白棋项目源代码包,实现:1、下棋;2、计数;3、提示该谁下棋;4、跳过;5、人机对战;6、胜负判断;7、重新开始;

2009-04-22

如何成为优秀的软件人才

林锐 如何成为优秀的软件人才——让普通人成为优秀软件人才的经验之谈

2009-04-22

编程精粹--Microsoft编写优质无错c程序秘诀

编程精粹--Microsoft编写优质无错c程序秘诀

2009-04-22

林锐 高质量C编程指南

C编程规范,该文档主要谈论c/c++编程的规范化问题

2009-04-22

Linux内核情景分析.part2

本书详细讲解了以下部分:内存管理、中断、异常和系统调用、进程与进程调度、文件系统、进程间通信等,是linux内核介绍方面不可多得的一本好书。

2009-05-17

Linux内核情景分析.part1

本书详细讲解了以下部分:内存管理、中断、异常和系统调用、进程与进程调度、文件系统、进程间通信等,是linux内核介绍方面不可多得的一本好书。

2009-05-17

深入理解计算机系统part2

深入理解计算机系统:该书以程序员的视角分析计算机的系统的实现细节,学习本书能帮助程序员深刻地理解计算机系统的工作原理,从而写出健壮的代码。

2009-05-17

深入理解计算机系统part1

深入理解计算机系统:该书以程序员的视角分析计算机的系统的实现细节,学习本书能帮助程序员深刻地理解计算机系统的工作原理,从而写出健壮的代码。

2009-05-17

构建嵌入式LINUX系统

该书详细介绍构建嵌入式LINUX系统的整个过程,包括:建立GNU开发工具链、为特定的目标板选择、配置、建立以及安装内核、建立完整的根文件系统、设置和管理以及使用固态存储设备、配置引导加载程序、使用多种工具和技术调试嵌入式系统等,适合初学者和工程人员参考。

2009-05-17

ARM体系结构与编程

ARM体系结构与编程:该书详细讲解了ARM的各种体系结构,以及相应的编程方法,适合初学者与工程人员参考。

2009-05-17

cygwin part 3

cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。

2009-05-12

cygwin part2

cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。

2009-05-12

cygwin part1

cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。

2009-05-12

TFTP的客户端源代码

TFTP的客户端源代码包:内含一个客户端的源代码,一个服务器端的小软件

2009-05-05

14天内学会TCP/IP协议

该文档为英文版的,内含大量的插图,希望对大家有用

2009-04-30

利用socket编程实现的网络版shell命令解释器

利用socket编程实现的网络版shell命令解释器 内含两个代码包:分别用不同思路实现的

2009-04-30

网管大师(追踪者)-数据包捕获器 V 1.281 专用版.rar

网管大师(追踪者)-数据包捕获器 V 1.281 专用版 网管必备工具

2009-04-30

利用socket 编写web 服务器的源代码

利用socket 编写web 服务器的源代码,简单的socket 编程练习

2009-04-30

《linux内核设计与实现》

《linux内核设计与实现》该书详细介绍了linux内核的系统调用、内存管理、进程管理、中断管理、虚文件系统、定时等各方面的知识

2009-04-25

《 vim中文手册 》

《vim中文手册》该手册将会带你漫游vi,教会你vi编辑器的使用方法,不过与编程技巧等无关,熟练应用它只是一个简单练习的过程

2009-04-25

空空如也

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

TA关注的人

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