linux

linux 环境编程学习笔记 第15天 进程

2015-05-07

接着昨天 一、进程 2.创建进程 (1) int system(const char *command); (2) FILE *popen(const char *command, const char *type); (3) exec系列函数 int execl( const char *path, const char *arg, ...); //第一个参数:替换的进程,第二个参数... ...

linux

linux 环境编程学习笔记 第13,14天 IO与文件目录管理,进程

2015-05-07

一、IO与文件目录管理 1.pread与lseek+read的区别 pread读取后不会改变读写位置 2.mmap映射 /proc/${pid}/mem 无法映射,并且 mmap函数最后一个参数 文件中的映射开始位置 必须是pagesize的证书倍,否者出错 3.IO的实际用户(real user)与有效用户(effective user) 默认情况:有效用户与实际用户一致,但设置了设置位, ...

linux

linux 环境编程学习笔记 第12天 curses(2)

2015-05-07

curses 接着前天 6.字符属性与颜色 判定终端是否支持颜色 bool has_colors();//都支持颜色,建议不判定 初始化颜色: int start_color(); 定义颜色对 int init_pair(short pair,short fore,short back); init_pair 一定要放在 start_color()后面 使用颜色对 COLOR_PAIR(sh ...

linux

linux 环境编程学习笔记 第11天 curses

2015-05-07

一、curses 1.简介: CUI字符界面,GUI:图形界面 curses就是cui的库 老版本libcurses.so,新版本libncurses.so printf / scanf 等标准IO 大部分是 重定向到终端 /dev/tty /dev/pts/1,curses就是终端输出。 编译时要 指定curses的库 -lcurses 或者 -lncurses 2.编程模型 初始化终端i ...

linux

linux 环境编程学习笔记 第九、十天 IO与文件映射,IO锁

2015-05-07

一、IO与文件映射 1.IO的共享与效率 read与write其中数据缓冲的大小 读取数据的缓冲:getpagesize。 2.定位与定位读取(随机读取) read与write在操作时,自动移动读取位置 (1)用lseek 可以 改变读取位置 lseek的函数说明: off_t lseek( int fd,//定位文件描述符号 off_t off,//定位位置 int whence//定位参 ...

linux

linux 环境编程学习笔记 第七、八天 IO基础

2015-05-07

一、IO基础 1.认识内核对象 系统不允许程序直接访问设备和内存,但可以通过内核系统函数去访问,系统对每个内核对象对象分配ID号。 程序要访问内核对象,只能通过ID号来访问。(申请得到一个ID ,在内核系统函数中使用ID得到对应内核对象数据)。 2.怎么访问文件 使用函数传递一个文件,系统打开文件,返回给程序ID号,程序通过ID号来访问文件,通过ID号来告诉系统释放文件。 ( ID:文件描述 ...

linux

linux 环境编程学习笔记 第四、五天 映射虚拟内存,编译工具,静态库,动态库

2015-05-07

一、映射虚拟内存 mmap / unmap void *mmap( void *start,//指定映射的虚拟地址 0由系统指定开始位置) size_t length,//映射空间大小 pagesize()倍数 int prot,//映射权限 PROT_NONE 或 PROT_READ PROT_WRITE PROT_EXEC int flags,//映射方式 int fd,//文件描述符号 ...

linux

linux 环境编程学习笔记 第三天 虚拟内存的分配

2015-05-07

寒假学习 第三天 (linux 高级编程) 笔记 小结 晚上刷了笔记本的BIOS ,尽然刷坏了,折腾了一个晚上还没好,我勒个去快哭了。只能在自己的台式机上搞了。 一、虚拟内存的分配 int brk(void *addr); 分配空间,释放空间 void *sbrk(intptr_t increment); 返回空间地址 #include #include int main() { int * ...