- 博客(9)
- 收藏
- 关注
原创 fork系统调用
fork. 复制一个进程映像使用fork函数得到的子进程从父进程的继承了整个进程的地址空间,包括:进程上下文、进程堆栈、内存信息、打开的文件描述符、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端等。子进程与父进程的区别 父进程设置的锁,子进程不能继承各自的进程PID和父进程PID不同子进程的未决告警被清除子进程的未决信号设置为空集 fork. fork系统调用包含头
2018-03-25 17:18:40
294
原创 Linux_1_文件——文件描述符
* 文件描述符 -文件描述符是个很小的正整数,调试一个索引值,指向内核为每个进程所维护的该进程打开文件的记录表。 -例如:每个进程启动时都打开3个文件:* 标准输入文件 STDIN_FILENO 0* 标准输出 STDOUT_FILENO 1* 标准出错 STDERR_FILENO 2 -这三个文件分别对应文件描述符0、1、2 -编程中应该使用<unistd.h>中定义的STDIN_F
2017-10-21 19:40:00
706
原创 Linux_1_文件—文件和目录操作
* 库函数和系统调用的区别在于系统调用能够让你直接访问Linux内核提供的服务,比如前面学到的read、write函数就是基于系统调用的函数。* 系统调用函数存在与内核空间,库函数都是用户模式,所以系统调用不当可能会破坏系统,但库函数调用风险就要小很多。* 库函数堆I/O操作进行缓冲,减少了系统调用开销,同时可移植行也更好。* 打开和关闭文件FILE *p fopen(const char *p
2017-10-21 19:33:19
279
原创 Linux_0_Make
* make是一种控制编译或者重复编译软件的工具。* make可以自动管理软件的编译内容、方式和时机,从而使程序员把更多的经理集中在编写代码上。* make是怎么完成工作的呢? * make是一个命令文件。* makefile是一个文本形式的脚本文件,其中包含一些规则告诉make编译那些文件,怎么样编译以及在什么条件下编译。 * makefile规则遵循以下通用形式 targ
2017-10-21 19:30:19
292
原创 GCC
* GCC是如何知道文件类型呢?-通过文件扩展名判断文件类型扩展名 含义 c C语言源文件 cpp C++源文件 s 汇编语言源文件 o 编译后的目标代码文件 a,so 编译后的库文件用GCC直接编译用C写的C文件能成功 $gcc -o hello hello.c当把C文件改成CPP文件时 mvhello.chello.cpp再用GCC编译该.cpp文件时出错mv hel
2017-10-21 19:28:31
187
原创 Linux_0_编译链接
* 预编译 -在明亮行键入命令。 $gcc -o hello1.c -E hello.c -这行明亮告诉gcc对源程序hell0.c进行预编译, 预编译结果输出到hello1.c文件中 预编译就是把.h头文件展开,打开* 编译 $gcc -o heello.0 -c hello1.c -这行命令告诉gcc对源程序hello.c进行
2017-10-21 19:27:18
190
原创 友元关系
友元关系:为不同的类或普通函数提供访问本类的访问权限。1. 友元函数 友元函数是在勒种用关键字friend修饰的非成员函数。友元函数可以是一个普通的函数,也可以是其他类的成员函数。虽然他不是本类的成员函数,但是在它的函数体中可以通过对象名访问类的私有和保护成员。class A{public: void HelloA(void); friend void Hel
2017-06-20 17:14:26
1356
原创 一维数组
1. 以指针的方式访问一维数组int a[10]={1,2,3,4,5,6,7,8,9,10};int *p=NULL;p=a;//地址值 元素值p==&a[0]; *p==a[0]p+1==&a[1]; *(p+1)==a[1];p+2==&a[2]; *(p+2)==a[2];p+3==&a[3]; *(p+3)==a[3];
2017-05-31 17:31:56
250
原创 数组的解析
数组 数组是具有一定顺序关系的若干对象的几何体,组成数组的对象成为该数组的元素。数组的声明与使用 1.数组的声明 数组属于自定义数据类型,因此在使用之前首先要进行类型声明。声明一个数组类型,应该包括以下几个方面。 (1)确定数组的名称。 (2)确定数组元素的类型。 (3)确定数组的结构 数组的声明的一
2017-05-31 16:23:30
627
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅