操作系统如何加载程序 1.用户编写完代码后,通过编译器将编译为数据段、代码段、堆栈段、bss段,由链接器链接为装入模块 2.用户通知操作系统要运行的程序 3.操作系统根据路径找到对应的程序,检测程序的头部,找到代码段和数据段的位置 4.文件系统根据这些段的位置找到对应的磁盘块 5.操作系统创建进程( ...
分类:
其他好文 时间:
2020-01-04 10:52:35
阅读次数:
102
1.wget获取安装包: wget http://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz 2.解压安装包: tar -xvzf Python-3.6.2.tgz 3.检查安装平台属性,系统是否有编译时所需要额库,以及库的版本是否满足编译需要 ...
分类:
编程语言 时间:
2020-01-01 09:35:50
阅读次数:
253
这两天项目代码中遇到一个很疑惑的问题,问题可以描述为: 一个静态成员初始化的时候直接core 掉,该静态成员初始化时通过另外一个文件中静态成员来完成 。该问题同样发生在全局对象上。该问题可以描述为今天要讨论的: 变量的静态初始化顺序 。 具体可以用代码简述如下: //test1.cpp #inclu ...
分类:
编程语言 时间:
2019-12-27 23:30:43
阅读次数:
91
BSS段清零的原因是因为这个段是BSS 要说为什么要有BSS的话,历史就比较久远了。 BSS段我所知道的起源是Unix最初的时候(当然,不排除可能有更早的情况)。变量分两种:局部变量、全局变量。 根据C语法的规定,局部变量不设置初始值的时候,其初始值是不确定的,局部变量(不含静态局部变量)的存储位置 ...
分类:
其他好文 时间:
2019-12-22 13:01:53
阅读次数:
98
ubuntu 14.04 编译opencv-3.4.2 报错解决: 错误信息:/usr/bin/ld: /usr/local/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `.bss' can not be used ...
分类:
系统相关 时间:
2019-12-21 13:30:06
阅读次数:
439
babyheap_fastbin_attack 首先检查程序保护 保护全开。是一个选单系统 分析程序 创建一个堆,将堆的信息(大小,是否使用,指针)存放在bss段中,并且将内容写入堆中 打印堆的内容,长度由一开始定义时决定 删除堆,将标志位和size全部清0但是指针没有清0,可以达到再次利用的效果 ...
分类:
其他好文 时间:
2019-12-20 01:16:41
阅读次数:
158
# CentOS 7 安装jumpserver $ setenforce 0 # 可以设置配置文件永久关闭$ systemctl stop iptables.service$ systemctl stop firewalld.service 1、配置python环境:[root@centos7-1 ...
分类:
其他好文 时间:
2019-12-14 15:49:12
阅读次数:
120
该实验是基于Ubuntu18.0.4和Linux5.0.1完成的 一、安装,编译Linux内核 1.1下载内核源代码 mkdir LinuxKernel #创建LinuxKernel根目录cd ~/LinuxKernel/wget https://cdn.kernel.org/pub/linux/k ...
分类:
系统相关 时间:
2019-12-07 21:06:57
阅读次数:
123
1、概念解析(1)存储类 a.存储类就是存储类型,也就是描述C语言变量在何种地方存储。 b.内存有多种管理办法:栈、堆、数据段、bss段、.text段......一个变量的存储类属性就是描述这个变量存储在何种内存段中。 c.譬如:局部变量分配在栈上,所以它的存储类就是栈;显式初始化为非0的全局变量分 ...
分类:
编程语言 时间:
2019-11-13 16:18:37
阅读次数:
76