自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 共享文件的原理

内核用三个相关的数据结构来表示打开的文件:描述符表:每个进程有它独立的描述符表,表项由它打开的文件描述符来索引每个打开的描述符表项指向文件表中的一个表项文件表:打开文件的集合是由一张文件表来表示的,所有进程共享这一张表v-node 表:同文件表一样,所有进程共享这一张v-node表。如图是两种常见的引用方式,打开不同文件和同一文件接下来看几个例子在这里插入代码片...

2019-12-07 15:04:26 2155

原创 fork()的调用

fork()会创建一个子进程,子进程复制父进程的虚拟空间,但父进程与子进程是两个相互独立的进程。也就是说子进程的虚拟空间是独立的。linux会使用写时复制技术,即使用时再复制:每个进程的虚拟空间中都有相应的代码段,数据段,堆,栈等,fork()之后两个进程使用同一个物理空间,而虚拟空间不同,当父子进程中有更改相应段的行为时,再为子进程相应段分配自己的物理空间fork()是一个一次调用,两次返回的...

2019-11-05 21:51:53 926

原创 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 311

原创 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 762

原创 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 1457

原创 Linux gcc指令

gcc -c xxx.c生成同名文件,只编译,不链接为可执行文件,生成后缀为 .o 的目标文件。通常用于编译不包含主程序的子程序文件。gcc -o XXXXXX为生成文件名,(据说同时这个名称不能和源文件同名,但我实验是可以同名的)。如果不给出这个选项,gcc就给出默认的可执行文件 a.out 。`gcc XXX.cXXX.c中要求有main()且无外部文件引用,即不能进行自动链接。但...

2019-10-01 14:07:17 432

原创 UnboundLocalError: local variable 'iter' referenced before assignment

##UnboundLocalError: local variable ‘iter’ referenced before assignment在于python没有变量的声明 , 所以它通过一个简单的规则找出变量的范围 :如果有一个函数内部的变量赋值 ,该变量被认为是本地的,所以如果有修改变量的值就会变成局部变量。这个问题之前在晚上找到的解决方法是global,声明其为全局变量,但问题没有解决,...

2019-09-06 20:19:22 1108

转载 链表推导式for XXX in XX range(XXX)

##XXXfor X in xxx上式为链表推导式,它提供了一个创建链表的简单途径,无需使用map(),filter()以及lambda。返回列表的定义通常要比创建这些列表更清晰。每个链表推导式包括在一个for语句后的表达式,零或多个forif语句。返回值是由for或if子句之后的表达式得到的元素组成的链表。如果想要得到一个元组,必须要加上括号>>> freshfruit =...

2019-09-06 20:13:18 350

空空如也

空空如也

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

TA关注的人

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