- 博客(8)
- 收藏
- 关注
原创 共享文件的原理
内核用三个相关的数据结构来表示打开的文件:描述符表:每个进程有它独立的描述符表,表项由它打开的文件描述符来索引每个打开的描述符表项指向文件表中的一个表项文件表:打开文件的集合是由一张文件表来表示的,所有进程共享这一张表v-node 表:同文件表一样,所有进程共享这一张v-node表。如图是两种常见的引用方式,打开不同文件和同一文件接下来看几个例子在这里插入代码片...
2019-12-07 15:04:26 2224
原创 fork()的调用
fork()会创建一个子进程,子进程复制父进程的虚拟空间,但父进程与子进程是两个相互独立的进程。也就是说子进程的虚拟空间是独立的。linux会使用写时复制技术,即使用时再复制:每个进程的虚拟空间中都有相应的代码段,数据段,堆,栈等,fork()之后两个进程使用同一个物理空间,而虚拟空间不同,当父子进程中有更改相应段的行为时,再为子进程相应段分配自己的物理空间fork()是一个一次调用,两次返回的...
2019-11-05 21:51:53 1043
原创 wait与waitpid的使用与区别
无论是要使用wait还是waitpid都要先引入头文件#include <sys/types.h>#include <sys/wait.h>waitpid:pid_t waitpid(pid_t pid,int *statusp,int options)参数:pid:pid>0:只等待进程ID等于pid的进程,不管其他已经有多少子进程结束,只要指定的子 ...
2019-11-05 21:44:09 340
原创 python读取外部文件的两种方法
import pandas as pd1.读excel文件Data=pd.read_excel(*args)常用参数:io:必有,指定外部文件的地址目录index_col:指定索引列,可以是数字也可是字符串nrows/ncols:需要读取的行/列数names:列名,需要和实际列数相等,比如:names=[‘num’,‘name’,‘age’]...
2019-10-06 14:23:00 852
原创 Readelf指令&可执行目标文件与可重定位目标文件的比较
Readelf -h XXX.o读ELF头lsy@lsy-VirtualBox:~/Documents$ readelf -h Hello.oELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 #魔数,代表ELF Class: ELF64 ...
2019-10-02 14:19:56 1515
原创 Linux gcc指令
gcc -c xxx.c生成同名文件,只编译,不链接为可执行文件,生成后缀为 .o 的目标文件。通常用于编译不包含主程序的子程序文件。gcc -o XXXXXX为生成文件名,(据说同时这个名称不能和源文件同名,但我实验是可以同名的)。如果不给出这个选项,gcc就给出默认的可执行文件 a.out 。`gcc XXX.cXXX.c中要求有main()且无外部文件引用,即不能进行自动链接。但...
2019-10-01 14:07:17 481
原创 UnboundLocalError: local variable 'iter' referenced before assignment
##UnboundLocalError: local variable ‘iter’ referenced before assignment在于python没有变量的声明 , 所以它通过一个简单的规则找出变量的范围 :如果有一个函数内部的变量赋值 ,该变量被认为是本地的,所以如果有修改变量的值就会变成局部变量。这个问题之前在晚上找到的解决方法是global,声明其为全局变量,但问题没有解决,...
2019-09-06 20:19:22 1145
转载 链表推导式for XXX in XX range(XXX)
##XXXfor X in xxx上式为链表推导式,它提供了一个创建链表的简单途径,无需使用map(),filter()以及lambda。返回列表的定义通常要比创建这些列表更清晰。每个链表推导式包括在一个for语句后的表达式,零或多个forif语句。返回值是由for或if子句之后的表达式得到的元素组成的链表。如果想要得到一个元组,必须要加上括号>>> freshfruit =...
2019-09-06 20:13:18 443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人