![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 66
小心眼儿猫
这个作者很懒,什么都没留下…
展开
-
Linux学习小记(三)---基本命令
Linux基本命令原创 2018-03-06 21:13:31 · 148 阅读 · 0 评论 -
线程控制(二):线程等待与分离
线程等待为什么需要线程等待呢? 1、已经退出的线程,其空间没有被释放,任然在进程的地址空间内 2、创建新的线程不会服用刚才退出线程的地址空间pthread_join函数://等待线程结束int pthread_join(pthread_t thread,void **value_ptr);//参数thread:线程ID//value_ptr:指向一个指向线程的返回值的指针//返回原创 2018-04-25 13:42:55 · 480 阅读 · 0 评论 -
线程控制(一):线程创建与终止
说在前面:与线程相关的函数构成了一个完整的系列,绝大多数函数的名字都是以“pthread_”打头的,要想使用这些函数,要通过引入头文,链接这些线程函数库时要使用编译器命令的“-lpthread”选项创建线程//创建一个新的线程int pthread_create(pthread_t *threade,const pthreade_attr_t *attr,void *(*start_rout原创 2018-04-25 11:34:42 · 390 阅读 · 0 评论 -
阻塞信号及相关函数
阻塞信号先来看一下几个常见的信号相关概念: 1实际执行信号的处理动作称为信号递达。 2 信号从产生到递达之间的状态称为信号未决。 3进程可以选择阻塞某个信号。 4被阻塞的信号产生时将一直保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作。 5注意:阻塞和忽略是不同的,只要信号被阻塞就永远不会被递达,而忽略就是在递达之后,可选择的一种处理动作。在内...原创 2018-04-10 17:57:21 · 646 阅读 · 0 评论 -
信号的概念和信号的产生
信号的概念: 这里提到信号,也有必要说一下信号量,信号量是进程间通信的一种方式,与现在要讲的信号并无关系。这里要区分开来。当操作系统接受到信号以后,会在合适的时候执行相应的动作。在我们的日常生活中,红绿灯是一种信号。而我们由于从小便被人告知,红灯停绿灯行……这种规则,因此,我们首先记住了红绿灯这个东西,随后,因为我们已经知道了红绿灯所对应的规则,当我们在遇到红绿灯时就会做出相应的动作。这里,操作系原创 2018-04-10 16:36:58 · 346 阅读 · 0 评论 -
系统调用----初步了解文件描述符
在学习操作系统之前,我们在操作文件时会使用一些C接口,比如说,fwrite fread fopen fclose 这些,但是除了这些C接口(其他语言也有),我们还可以使用一些系统调用接口来进行文件访问。例如:写文件(write)代码实现:#include<stdio.h>#include<sys/types.h>#include<s...原创 2018-03-27 22:34:46 · 202 阅读 · 0 评论 -
动态库和静态库
静态库:(.a)程序在编译连接的时候把库的代码链接到可执行文件中,程序运行的时候讲不再需要静态库。动态库:(.so)程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。一个与动态库链接的可执行文件仅仅包含它用到的函数入口地址的一个表,而不是外部函数所在目标文件整个机器码。在可执行文件开始运行以前,操作系统将外部函数的机器码从磁盘上的该动态库中复制到内存中,这个过程称为动态链...原创 2018-03-27 17:59:59 · 134 阅读 · 0 评论 -
进程的终止和等待
进程终止一般来说,进程的退出场景有以下三种:代码运行完毕,结果正确代码运行完毕,结果错误代码异常终止常见的退出方法:从main函数返回调用exit调用_exit在Linux学习的过程中,我们常用 Ctrl+c来终止我们运行的程序,这就是异常终止 _exit函数#include<unistd.h>void _exit(int status);//...原创 2018-03-23 23:14:13 · 287 阅读 · 0 评论 -
Linux根目录下几个重要目录的作用以及软件包管理器yum基本介绍
Linux根目录(/)下几个重要目录作用 /proc : 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里/bin : 二进制可执行命令。该目录下存放着普通用户的命令/dev:系统的设备文件,即设备的驱动程序/sys:管理设备文件/usr/lib : 所有可执行文件所需要的库文件/var ...原创 2018-03-05 23:04:52 · 381 阅读 · 0 评论 -
进程控制块:PCB之task_struct
进程控制块 Linux下的PCB——task_struct原创 2018-03-16 17:43:57 · 586 阅读 · 0 评论 -
指针数组?数组指针??……
指针数组什么是指针数组呢?到底是指针还是数组呢??首先我们要明确一点,指针数组是数组而不是指针。这种数组与我们之前见的数组没什么两样,之所以叫他指针数组只是因为这个数组里的元素是指针。下面我们来举例辨析:1:int *arr1[100];2:char *arr2[100];3:char **arr[100];首先我们都能一眼知道int和char是整型和字符型,其次,我们要想知道到哪一个是指针数组...原创 2018-03-09 16:38:48 · 111 阅读 · 0 评论 -
编译器
gcc编译器和初识readelf命令原创 2018-03-08 21:21:32 · 486 阅读 · 2 评论 -
Linux学习小记(二)---基本命令
Linux基本命令原创 2018-02-28 16:22:01 · 159 阅读 · 0 评论 -
编辑器
Linux学习中接触到vim编辑器。其是vi的升级版,vim兼容vi的所有指令,并且还有语法加亮,可视化操作不仅可以在终端上运行,还可以运行于x window、mac os、Windows。当我们需要使用vim来编辑文件,只需要在终端上输入命令‘’vim [文件名]‘’(如vim hello.c)即可。先来说一说vim最为基本的三种模式及相关操作: 1:命令模式(正常/普通模式) 该模...原创 2018-03-08 11:38:08 · 160 阅读 · 0 评论 -
Linux学习小记(一)---基本命令
Linux基本命令ls指令语法:ls [选项] [目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选项:-a :列出目录下的所有文件,包括以.开头的所有隐含文件-l :列出文件的详细信息-h :方便查看文件的大小-lh :-l与-h的合写-r :对目录反向排序-t :以时间排序2.pwd指令 ...原创 2018-02-27 17:44:49 · 125 阅读 · 0 评论 -
Linux ---- 权限
linux 权限管理原创 2018-03-06 22:33:04 · 226 阅读 · 0 评论 -
笔记:gdb调试多进程
默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。follow-fork-mode与detach-on-fork 说明: follow-fork-mode det...原创 2018-04-27 00:27:42 · 396 阅读 · 0 评论