自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 Unix系统中的系统调用和库调用

系统调用:System calls 库函数: Library Functions系统调用是内核提供的接口(entry points),库函数是对系统调用接口的封装。Version 7 :   50个。4.4BSD: 110个。SVR4:   120个。Linux:    根据版本不同,有大概240~260个系统调用。Free BSD:    320个。系统调

2015-07-30 10:41:21 706

原创 计算机是如何处理按键输入的字符的

看下面的一个例子,shell的一个基本实现的例子,可以编译运行一下。 当从键盘按下一个键时, 电脑会产生一个中断,有一个中断接收程序,来接收这个字符。中断接收程序对接收到的程序进行判断处理,比如说是控制字符还是可显示字符,对每个控制字符改怎么处理啊,对可显示字符要不要写入RxBUF啦,等等情况,最后接收完了,再回到主循环。什么时候接收完呢,就是中断接收程序接收到了一个Enter

2015-07-28 14:01:21 2102

原创 一个简单地Shell-like 的实现

下面的一个程序是shell的简单实现,虽然简单,但是原理是相同的。请仔细体会。//shell-like function#include "apue.h"#include int main(int argc,char *argv[]){        char buf[MAXLINE];        pid_t pid;        int stat

2015-07-27 09:31:22 1271

原创 Unix环境高级编程中这么描述文件系统

File System:The UNIX file system is a hierarchical arrangement of directories and files. Everything starts in the directory called root whose name is the singal character / .A directory is a file

2015-07-25 12:29:27 359

原创 明确一下,哪些类型放在data区

放在Data区的常量:1.全局变量。2.static修饰的全局变量和局部变量。3.字符串,char  *str = "abcd",“abcd”放在data区 。但是char str[] = "abcd"; “abcd”是放在栈区的,因为它是字符串数组。4.const修饰的全局变量放在Data区。但是,const修饰的局部变量不是放在data区的,它仅仅意味着表达式上不能显示的改变变

2015-07-15 23:51:22 731

原创 What is the difference between static and global variables ?

What is the difference between static and global variables  ?这个回答要好好看看 ?网址是:http://www.geekinterview.com/talk/4375-what-difference-between-static-global-variables.html

2015-07-11 18:50:50 487

原创 C语言中关于哪些数据放在哪些区?

上图是用手机拍摄的Unix环境高级编程中第二版中第七章的内容。一个程序分为几个区,可以从图中明显看到。需要说明的是,stack区是从第1GByte地址处以下开始,第1GByte地址处到stack开始的地方,是命令行参数和环境列表的存储区。需要解释的是,初始化数据区和非初始化数据区,两者在其他的书中都称为数据区,data区。其中,程序中的已经初始化的数据区里面又含有多种类型的数据存放。比如静

2015-07-09 18:51:39 1569

原创 关于for循环和while循环中的次数问题

每当使用到for 和 while循环,到底循环多少次的问题每次都搞的我头脑很乱,不能专注于更重要的实现。今天,解决了:画个表,一列表示一次。这样,多少次,在脑海中很清晰。

2015-07-08 23:55:33 4403 1

原创 main函数被调用时传递的三个参数

我们编写的main函数,也是一个被调用的函数。像其他的小函数一样,只不过,main是被kernel的_start()函数调用。调用main函数时候,_start()(还是exec()? 搞不清楚,_start()函数可能是exec()进程的分出来的子进程。)函数也要传递参数给main()。传递三个参数:命令行参数的个数,命令行每个字符串的指针,环境变量。int  main (int  ar

2015-07-06 19:07:24 838

原创 什么叫做库

一直搞不懂什么是库。库就是一堆文件的集合。库就是仓库,就是Library,里面放东西的地方。Library:a collection of things for use on a computer, e.g. programs.C库就是把一堆.c文件写好了,各个编译好了的文件,放在一起,就叫C库。那些头文件放在一起叫做头文件库。这两天搞明白这个,突然轻松了好多,有种

2015-07-06 16:03:12 1672

原创 关于start-up routine 和 exec 和main()

http://stackoverflow.com/questions/4595910/what-is-the-need-for-c-startup-routine请参考这个文章。 我们编写main()函数,以为函数是从main()函数开始执行,其实不是这样的。对于kernel来讲,光是把main()函数拿过来直接开始执行是不行的,需要对main()进行预处理。这个就是start-up

2015-07-04 08:57:16 490

原创 彻底搞懂一个项目中的各种文件关系

一个项目由很多文件构成,很多.c文件,和.h文件。.h文件,只是头文件中的包含的作用,就是copy。编译的时候,各个.c文件分别进行编译。如果一个.c文件中的变量,想要在另一个文件中使用,那么在另一个文件中需要extern 一下这个变量。extern 表示外部的意思,就是表明这个变量或者函数,不是本文件中的,是其他.c文件中的。各个.c文件都编译后,需要进行链接的。

2015-07-03 17:06:38 1671

linux源代码 0.01版本

此包是linux 0.01版本,适合大家研究之用。

2014-07-09

空空如也

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

TA关注的人

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