上一页 1 ··· 6 7 8 9 10 11 下一页

2012年3月31日

函数指针和指针函数

摘要: 一、函数指针 函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。函数指针有两个用途:调用函数和做函数的参数。函数指针的声明方法为: 函数类型 (标志符指针变量名) (形参列表); 注1:“函数类型”说明函数的返回类型,“(标志符 指针变量名 )”中的括号不能省,若省略整体则成为一个函... 阅读全文

posted @ 2012-03-31 17:38 n哖苡逅 阅读(596) 评论(1) 推荐(1) 编辑

c语言exit和return区别,在fork和vfork中使用

摘要: exit函数在头文件stdlib.h中。exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在main主函数中,则会退出函数并返回一值,可以写为return(0),或return 0。详细说:1. return返回函数值,是关键字;exit是一个函数。 2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。 3. return是函数的退出(返回);exit是进程的退出。 4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。 5. return用于结束一个 阅读全文

posted @ 2012-03-31 14:00 n哖苡逅 阅读(8196) 评论(1) 推荐(3) 编辑

进程控制

摘要: 一、进程控制理论基础定义:进程是一个具有一定独立功能的程序的一次运行活动。特点:动态性、并发性、独立性、异步性。进程调度的状态如图所示:进程ID(PID):标识进程的唯一数字;父进程的ID(PPID):创建子进程的进程;用户ID(UID):启动进程的的用户。进程互斥:进程互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了该资源为止。临界资源:操作系统中将一次只允许一个进程访问的资源称为临界资源。临界区:进程中访问临界资源的那段程序代码称为临界区。为实现对临界资源的互斥访问,应保证诸进程互斥地进入各自的临界区。进程同步 阅读全文

posted @ 2012-03-31 10:24 n哖苡逅 阅读(754) 评论(0) 推荐(0) 编辑

2012年3月30日

LINUX 内核源文件介绍以及头文件介绍

摘要: *******************LINUX 内核(0.11)源文件介绍******************1、内核源文件放置目录:||————boot 系统引导汇编程序目录||————fs 文件系统目录||————include 头文件目录||————init 内核初始化程序目录||————kernel 内存进程调度、信号处理、系统调用等程序的目录||————lib 内核库函数目录||————mm 内存管理程序目录||————tools 生成内核Image文件的工具程序目录||————Makefile文件|2、引导启动程序目录boot 包含3个汇编语言文件,是内核源文件中最先被编译的程序 阅读全文

posted @ 2012-03-30 15:06 n哖苡逅 阅读(4210) 评论(0) 推荐(0) 编辑

linux系统调用和库函数调用

摘要: Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。 1. 系统调用系统调用提供的函数如open, close, read, write, ioctl等,需包含头文件unistd.h。以write为例:其函数原型为 size_t write(int fd, const void *buf, size_t nbytes) 阅读全文

posted @ 2012-03-30 14:56 n哖苡逅 阅读(1329) 评论(0) 推荐(0) 编辑

C语言中.h和.c文件解析(很精彩)

摘要: 简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件) 4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也就是去掉了文件格式信息。(生成.exe文件) 编译器在编译时是以C文件为单位进行的,也就是说如果你的项目中一个C文件都没有,那么你的项目将无法编译,连接器是以目标文件为单位... 阅读全文

posted @ 2012-03-30 12:39 n哖苡逅 阅读(134117) 评论(10) 推荐(35) 编辑

2012年3月29日

Linux的profile与bashrc的分析

摘要: 以后的开发中会设计到交叉编译器环境变量的设置,可以在以下几个文件中设置,所以这里简单分析下下面的几个文件。 etc/profile: 此文件为系统的所有用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。 etc/bash.bashrc: 为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。 ~/.profile :用户设置自己的信息,当用户登录时该文件仅执行一次。默认情况下,该文件设置一些环境变量,执行用户.bashrc文件 ~/.bashrc: 该文件包含专用于用户的bash. 阅读全文

posted @ 2012-03-29 19:46 n哖苡逅 阅读(1050) 评论(0) 推荐(0) 编辑

Ubuntu 11.10配置

摘要: 今天安装了Ubuntu 11.10,使用的vmwave8.0,如果使用vmwave7.0,在文件共享会出现问题。不过安装vmwave8.0之后,vmwave7.0下安装的虚拟机仍然可以运行,很不错。1. 安装vim系统自带的vi不支持方向键和退格键,重新安装vim。 sudo apt-get remove vim-common --卸载设置好软件源在使用sudo apt-get update更新列表 sudo apt-get install vim --重新安装2.gedit中文乱码 缺省配置下,用 Ubuntu 的文本编辑器(gedit)打开 GB18030/GBK/GB... 阅读全文

posted @ 2012-03-29 19:13 n哖苡逅 阅读(423) 评论(0) 推荐(0) 编辑

如何查看 ubuntu 版本信息

摘要: cat /etc/issue返回结果Ubuntu 6.06 "Dapper Drake" Development Branch \n \l或者cat /proc/version返回结果Linuxversion 2.6.12-10-k7 (buildd@terranova) (gcc version 3.4.5 20050809 (prerelease) (Ubuntu 3.4.4-6ubuntu8.1)) #1 Sat Mar 11 16:59:38 UTC 2006或者uname -a返回结果Linux guoshuang 2.6.15-20-686 #1 SMP PRE 阅读全文

posted @ 2012-03-29 19:13 n哖苡逅 阅读(531) 评论(0) 推荐(0) 编辑

VIM配置让你事半功倍

摘要: Ubuntu11.10的vim升级后,版本为vi Improved 7.3.154功能很强大了。不过,程序员要根据自己的习惯配置好vimrc文件,是vim更加得心应手。注:一般用户在自己的当前目录下的.vimrc修改,修改内容只对本用户有效,要想全部有效,可以修改/etc/vim/vimrc.在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创 阅读全文

posted @ 2012-03-29 18:20 n哖苡逅 阅读(6046) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 下一页

导航