自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 进程的控制

一.进程的基本控制 1.进程的常见控制函数(进程同步) 1.1为什么需要控制进程 控制进程运行顺序等。 1.2.pause/sleep/usleep 1.3.atexit/on_exit回调函数 2.进程与文件锁 在多进程下文件读写是共享的 文件锁标识一个文件正在被进程读写(建议锁) API:fcnt1(文件锁受内核参数影响) 编程技巧:对文件加锁,判定一个文件是否存在锁 i

2013-12-31 23:29:52 531

原创 linux目录与进程

一.IO与文件目录管理 1.pread=lseek+read pread读取以后不改变读位置 2.mmap映射: /proc/${PID}/men 无法映射 3.IO的有效用户与实际用户 默认情况:实际用户与有效用户是一致的 有效用户 effice 权限用户 实际用户 real 执行用户 getuid()与geteuid()返回一个整数uid_t 4.目录相关函数

2013-12-27 11:04:59 599

原创 IO基础

1.认识内核对象 操作系统不允许用户直接访问内核设备和内存 但允许通过内核系统函数访问 对每个内核对象进行编号ID。 如果访问内核对象(内核空间的所有数据的统称),只能通过ID 编程模型: 申请得到一个ID 在内核系统函数中使用ID得到对应内核对象。 2.怎么访问文件 使用函数,传递一个文件,系统打开文件,加载文件数据 返回一个ID。 使用函数,传递ID,得到数据。 使用函

2013-12-20 09:45:31 626

原创 静态库、动态库

brk/sbrk 维护一个位置,brk/sbrk改变这个位置 brk改变绝对位置 sbrk改变相对位置 一,映射虚拟内存 没有任何额外维护数据的内存分配 mmap分配 unmap 释放 1.函数说明 void * mmap( void *start,//指定映射的虚拟地址 0 由系统指定开始位置 size_t length,//映射空间大小 int prot,// 映射权

2013-12-13 09:27:22 652

原创 C与虚拟内存

#include int add(int a,int b) { return a+b; } main() { int (*fun)(int )=(int (* )(int )) add; fun f=f(20); printf("%d\n",r); } 函数执行的时候有自己的临时栈 函数的参数就在临时栈中,如果函数传递实参,则用来初始化临时的参数变量  传递三个参数不会报错

2013-12-07 22:28:53 1543

原创 内存结构、堆结构及内存分配函数

Linux对内存结构的描述 1、在linux中,目录/proc/${pid}/下存放着相应进程运行时的所有信号,其它maps中包含对该进程的内存分配信信息,在命令行下执行maps即可查看(必须是当前执行中的进程,进程结束时,对应目录自动销毁) 可以以如下程序做实验: #include #include main() { print("%d\n",getpid()); while()

2013-12-01 17:49:45 977

转载 static在C和C++中的区别与总结

static主要作用下三个环境下,局部静态变量、外部静态变量与函数、静态数据成员与函数。 一、局部静态变量 1. 存储空间分配和生存周期不同 auto类型局部变量就是普通的局部变量(不加修饰的局部变量默认为该类型)。该类型局部变量存储在栈上,在动态存储区,生命周期仅限于定义它的函数,函数结束,它就自动释放。static类型局部变量存储在静态存储区,在程序整个运行期间都不释放。两者之间的作用域

2013-12-01 09:46:23 586

空空如也

空空如也

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

TA关注的人

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