1.可重定位目标文件格式 主要是由ELF头,一些节比如.text节,.rodata节,.data节,.bss节等,前面是只读的,后面是可读可写的,加上一个节头表 1.1 ELF头里面主要包含了16字节的标识信息,文件类型,机器类型,节头表偏移,节头表的表项大小以及个数,以及程序的入口地址,就是第一句执行的代码 好像和PE文件差不多的构成...不过PE的格式更加复杂了...过几天看看撸个PE解析器或者ELF的解析器 1.2.节头表存储着节的名字,访问方式,偏移,以及到虚拟地址的地址. 1.3. 可…
一. 1.函数调用差别 X64的函数调用,和X86函数调用区别,在于参数的传递不一样了,X64的参数传递不在依靠栈来传,而是寄存器,不过还是具有局限性的 比如只能允许六个寄存器来传,分别是RDI,RSI,RDX,RCX,R8,R9,参数顺序和这个寄存器顺序一样,这样就跳出了栈帧的概念的,也就是意味着 rbp直接退休了,因为查参数,不需要再靠RBP+16来查了,直接通过RSP来查找,十分的方便,不过超出6个参数传递时,还是要通过栈来传递 多余的参数,不过是用RSP来访问的,比如这张图 返回值还是存…
区别 常用的可执行文件包含两类:原始二进制文件(bin)和可加载执行的二进制文件,在linux中可加载执行的二进制文件为elf文件. BIN文件是直接的二进制文件,内部没有地址标记.bin文件内部数据按照代码段或者数据段的物理空间地址来排列.一般用编程器烧写时从00开始,而如果下载运行,则下载到编译时的地址即可. 在Linux OS上,为了运行可执行文件,他们是遵循ELF格式的,通常gcc -o test test.c,生成的test文件就是ELF格式的.执行elf文件时内核会使用加载器来解析e…
表1. ELF文件类型分类 ELF文件类型 说明 实例 Relocatable File 可重定位文件 未链接之前的ELF文件,可用于链接可执行文件或静态链接库 Linux下的".o"文件,Windows下".obj"文件 Executable File 可执行文件 最终的可执行程序 如Linux下"/bin"目录下文件,Windows的".exe"文件 Shared Objected File 共享目标文件 一种是可用于静态…
计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见的DOS命令讲解) Java语言基础(Java语言概述) Java语言基础(Java语言跨平台原理) Java语言基础(JRE和JDK的概述) Java语言基础(JDK的下载和安装过程图解) Java语言基础(JDK安装路径下的目录解释) Java语言基础(Java开发工具介绍) Java语言基础(…
一.计算机基础知识 1. 计算机 1. 什么是计算机? 计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机.大型计算机等. 应用举例 1:科学计算 2.数据处理 3.自动控制 4.计算机辅助设计 5.人工智能 6.多媒体应用 7.计算机网络 ... 2. 计算机硬件 1. 什么是硬件?硬件举例 计算机硬件(Co…
Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存储器.输入设备.输出设备五大部分组成的,每一部分分别按要求执行特定的基本功能. 1.运算器(算数逻辑单元Arithmetical and Logical Unit)的主要功能是对数据进行各种运算.这些运算除了常规的加.减.乘.除等基本的的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,即“与”…
一.计算机基础. cpu:相当于人的大脑,运算与控制中心. 速度 飞机 内存:4G,8G,16G....暂时存储,供给cpu数据. 速度 高铁.成本高,断电即消失. 硬盘:相当于你电脑的数据库,存储着大量数据,文件,小电影. 速度:走. 成本低,永久保存. 操作系统:执行者,支配所有关系.windows,linux,cenos, 我的理解:硬盘就相当于冰箱,食材都放在里面,内存就像灶台,是处理食材的地方,cpu相当于体力,脑力,注意力的集合体.操作系统是厨艺,处理食材的方法. 二.python的…
http://blog.csdn.net/lingfong_cool/article/details/7832896 (一) ELF 文件的格式       ELF 文件类型 (1) 可重定位文件( .o 目标文件) : 用于链接创建可执行文件或 so 文件 (2) 可执行文件                     : 用于执行 (3)so( 共享对象 ) 文件            : 用于链接 注 :   一个 Program Header 对应一个 Segment 一个 Section…
计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用int(32位)来存字是可以的,将char型值赋给int型会自动类型转换. 所谓int为整形数 表示它显示的就是底层二进制表示的数字,而char为字符型就是它显示的不是底层二进制表示的,而是通过对照字符编码unicode16 来把这个底层二进制表示出来,int比char大,因此肯定可以用int表示汉…
阅读本文大概需要 4 分钟 想要开始学习Java开发,需要掌握一些必要的计算机基础.如果你是计算机专业的人或者已经学过类似的课程,可以跳过这篇文章的阅读.计算机基础课程有很多,小编在大学里学过的课程就有:计算机组成原理.计算机网络.编译原理.数据结构等.当然这里只会对一些简单的知识进行介绍,如果对这些课程感兴趣的,可以去网上找一些资料,也可以上中国大学幕课网上进行学习.中国大学幕课网上的视频目前都是免费的,推荐(免费打广告). 一.机器语言分类 机器语言 机器语言说白了就是计算机能识别的语言,它…
计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通呢?没计算机行不行? 因为计算机帮人做了好多事情,说白了计算机是一台机器,这台机器用来解放人力,替代任务干活的. 什么是编程: 准确来说就是程序员用计算机所能理解的表达方式(编程语言)把自己的思维逻辑写下来(具体怎么写?根据你这门语言的语言风格关键字组织起来)编程的结果就是一堆文件. 为什么要编程:…
计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通呢?没计算机行不行? 因为计算机帮人做了好多事情,说白了计算机是一台机器,这台机器用来解放人力,替代任务干活的. 什么是编程: 准确来说就是程序员用计算机所能理解的表达方式(编程语言)把自己的思维逻辑写下来(具体怎么写?根据你这门语言的语言风格关键字组织起来)编程的结果就是一堆文件. 为什么要编程:…
一.计算机基础 1.Python是编程语言 语言:一种事物与另一种事物沟通的介质. 编程语言:程序员与计算机沟通的介质. 什么是编程:程序员用编程语言把自己的逻辑思想下来,编程的结果就是一堆文件. 为什么要编程:用程序员的逻辑思想操控计算机取代人力. 2.完整的计算机系统: 应用程序:由程序员编写,计算机执行的程序. 操作系统:由程序员编写,操控计算机的程序. 计算机硬件:计算机的物理构成. 3.计算机硬件: 1.五大组成: 控制器:cpu 运算器:cpu(逻辑运算,数字运算) 存储器:内存.外…
一.计算机基础 1.CPU 相当于人体的大脑,用于计算处理数据. 2.内存  用于存储数据,CPU从内存调用数据处理计算,运算速度很快. PS:问:既然在内存里的数据CPU运算速度快,为什么计算机不全部用内存呢? 答:1.内存成本很高:2.计算机断电时,在内存里的数据会即刻消失:因此计算机不会全部使用内存存储数据. 3.硬盘 用于储存应该长久保存的数据和文件等.硬盘分两种,固态硬盘和机械硬盘.固态硬盘(Solid State Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(…
今日内容 1.计算机初步认识 1.计算机认识 1. 计算机基础 1.1硬件:cpu/内存/硬盘/主板/网卡 1.2操作系统 linux:免费开源 windows mac 1.3解释器/编译器 补充:编译型语言和解释器语言? 编译型:c,c++,java,Golang, c# #(把代码写完后交给编译器后编译成一个完整的另一个文件再交给计算机执行) 解释型:python,php,ruby,js (写完代码后,交给解释器,解释器从上到下解释一行计算机执行一行 ,边解释 边执行 2.进制 二进制 八进…
六.Web 部分:(共题:基础40 道,基础37 道,中等难度3 道) 122.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? [基础] 答:Web 容器加载Servlet 并将其实例化后,Servlet 生命周期开始,容器运行其init 方法进行Servlet 的初始化,请求到达时运行其service 方法,service方法自动派遣运行与请求对应的doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy 方法.与cgi 的区别…
1.计算机基础. 2.python历史. 宏观上:python2 与 python3 区别: python2 源码不标准,混乱,重复代码太多, python3 统一 标准,去除重复代码. 3.python的环境. 编译型:一次性将所有程序编译成二进制文件. 缺点:开发效率低,不能跨平台. 优点:运行速度快.like:C,C++等等. 解释型:当程序执行时,一行一行的解释. 优点:开发效率高,可以跨平台. 缺点:运行速度慢.like:python ,php,等等. 4.python的发展. 5.p…
一:计算机的基本组成 1.计算机由输入单元.控制单元.算法逻辑单元.输出单元.存储单元,五大单元组成 二:概念篇 CPU:中央处理器,其内含有指令集(取码-解码-执行的过程) CPU同一时刻只能干一件事情,从内存取出指令码解码执行. 硬盘:用于存储信息.分为机械式磁盘(基于磁)和固态硬盘(基于电). 寄存器:因CPU运行速度快,而内存速度慢,未充分利用CPU效率而产生的,其空间小于内存,一般采用CPU材质.位于CPU内, 所有CPU内部都有一些用来保存关键变量和临时数据的寄存器. 虚拟内存:许多…
一.计算机基础: cpu:中央处理器,相当于人的大脑,运算中心,控制中心. 内存:暂时存储数据,与CPU交互. 优点:内存读取速度快. 缺点:容量小,造价高,断电即消失. 硬盘:长期存储数据. 优点:容量大造价低,断电不消失. 缺点:读取速度慢. 操作系统:调控统领这些过程. 二.Python 发展与应用 创始人龟叔,1989年在圣诞节的时候无聊发明Python,Python崇尚优美.清晰.简单,是一个优秀并广泛的语言.2004年Python2.4退出WEB框架Django诞生.2008年更新了…
计算机基础 1.编程语言的作用及与操作系统和硬件的关系 编程语言是程序员与计算机之间沟通的媒介. 一套完整的计算机系统分为计算机硬件.操作系统和软件三部分.编程语言开发的结果为软件.软件的运行在操作系统之上,操作系统运行与硬件之上,并控制硬件.操作系统为软件的运行提供了一个简单方便的借口. 2.计算机的硬件介绍 计算机主要由CPU.内存和I/O设备组成,并由一条系统总线(BUS)连接起来并通过总线与其他设备通信. CPU:计算机的大脑,负责运算. 内存:存储数据,但是不能永久存储,容量小,读写速…
一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言? 语言就是一种事物与另一种事物沟通的介质.所以说编程语言是程序员跟计算机沟通的介质. 什么是编程: 准确来说就是程序员用计算机所能理解的表达方式(编程语言)把自己的思维逻辑写下来. 让计算机按照人的逻辑执行程序,取代人力(把人解放出来) 学编程语言的目的: 就是控制你眼前的计算机,帮助自己高效工作 编程语言分类 机器语言 (底层语言,执行效率高,开发效率低) 汇编语言 高级语言 1.编译 2.解释(从上至下) 优势:开发效率高…
计算机基础知识 作为应用软件开发程序员是写应用软件的,而应用软件必须应用在操作系统之上,调用操作系统接口,由操作系统控制硬件 比如客户端软件想要基于网络发送一条消息给服务端软件,流程是: 1.客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统内存 2.客户端操作系统收到数据后,按照客户端软件指定的规则(即协议).调用网卡发送数据 3.网络传输数据 4.服务端软件调用系统接口,想要将数据从操作系统内存拷贝到自己的内存中 5.服务端操作系统收到4的指令后…
计算机基础 一.为什么学习计算机基础? 编程语言的作用:人类使机器明白并动作的指令.类似:人文社会的英语.   关系:计算机硬件 —— 操作系统(OS) —— 软件(编程语言成品,学习成果). 自语:硬件层上有操作系统进行控制,而OS上有软件,人类通过软件达到使硬件层动作反应的.        计算机硬件: 指的是计算机可视部分的硬件基础.      操作系统: 是计算机基础程序,通过操作系统对硬件实现控制,减少使用者基础层的纠结.      软件: 学习编程语言的目的成果,运行软件程序,让使用…
  Java面试题总结之数据结构.算法和计算机基础(刘小牛和丝音的爱情故事1)​mp.weixin.qq.com 全文字数: 1703 阅读时间: 大约6 分钟 刘小牛是一名Java程序员,由于天天996平常也不注意锻炼身体,一不小心就进入了ICU,最终抢救无效,告别了人间.死后的刘小牛,被告知需要进入天堂或者地狱,进入天堂需要有一技之长,刘小牛当然想进入天堂了,他思来想去自己也只会敲代码了,所以他来到了天堂的大门前,准备应聘Java程序员,玉帝和王母最疼爱的女儿丝音接待了他,丝音对他说,想要应…
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用于协同或控制硬件之间进行工作,常见的操作系统有那些: windows系统,应用最广泛的操作系统. win xp 系统 win 7系统 win 10 系统 linux系统,免费开源,占用内存小,运行速度快 centos .公司线上服务器使用,图形界面较ubuntu差 ubuntu,用于开发.图形界面较…
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp今天主要针对计算机基础中的操作系统和编程语言的分类进行了讲解. 操作系统 &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp首先什么是操作系统,操作系统的作用? &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp操作系统类似于奴隶社会中的管家,传达奴隶主的指令,让奴隶们知道自己接下来需…
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp作为一名程序员或者即将踏入IT行业的准程序员,学习任何一门编程语言,都需要有基本的计算机基础.程序员所有的编程都需要通过计算机来实现,在能够编写代码之前,了解一些计算机基础对日后的学习大有裨益. &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp今天计算机基础主要涉及编程和计算机组成原理. 计算机基础之编程 编程 &nbsp&…
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 等组成,只有硬件但硬件之间无法进行交流和通信 1.2 操作系统 操作系统用于协同或控制硬件之间进行工作,常见的操作系统有: windows xp win7 win10 windows server linux centos 公司线上一般用 (图形化比较差) ubuntu 个人开发(图形化比较好) redhat 企业级 mac 办公 1.3 解释器 或 编译器 编程语言的开发者写的一个工…
今日内容: 1.计算机基础知识 2.python简介 3.快速入门 今日内容: 一.计算机基础 1. 计算机什么组成的 输入输出设备 cpu 硬盘 内存 中央处理器 处理各种数据 相当于人的大脑 内存 存储数据 硬盘 存储数据的 2. 什么是操作系统 控制计算机工作的流程 软件 什么是应用程序 安装在操作系统之上的软件 就是应用程序 总结: cpu 人的大脑 内存 人的临时记忆 硬盘 人的永久记忆 操作系统 控制计算机硬件工作的流程 应用程序 安装在操作系统之上的软件 二. python简介 1…