总笔记

动态链接库英文为DLL

动态链接库英文为DLL,是Dynamic Link Library的缩写。
DLL是一个包含可由多个程序,同时使用的代码和数据的库。
例如,在 Windows 操作系统中,Comdlg32.dll 执行与对话框有关的常见函数。
因此,每个程序都可以使用该 DLL 中包含的功能来实现“打开”对话框。
这有助于避免代码重用和促进内存的有效使用。
通过使用 DLL,程序可以实现模块化,由相对独立的组件组成。
例如,一个计账程序可以按模块来销售。
可以在运行时将各个模块加载到主程序中(如果安装了相应模块)。
因为模块是彼此独立的,所以程序的加载速度更快,而且模块只在相应的功能被请求时才加载。

基于对象的编程语言

基于对象的编程语言没有提供象抽象、继承、重载等有关面向对象语言的许多功能。
而是把其它语言所创建的复杂对象统一起来,从而形成一个非常强大的对象系统,以供使用。

XML

XML(Extensible Markup Language)可扩展标记语言,标准通用标记语言的子集。是一种用于标记电子文件使其具有结构性的标记语言。
在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。
它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。
早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。

URL

URL(Uniform Resource Locator)

XMPP

XMPP(Extensible Messaging and Presence Protocol)
是一种基于标准通用标记语言的子集XML的协议,
它继承了在XML环境中灵活的发展性。
因此,基于XMPP的应用具有超强的可扩展性。
经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。
而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

分布式网络

分布式网络是由分布在不同地点且具有多个终端的节点机互连而成的。
网中任一点均至少与两条线路相连,当任意一条线路发生故障时,通信可转经其他链路完成,具有较高的可靠性。
同时,网络易于扩充。

DirectX

DirectX(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口,是一种应用程序接口(API)。
DirectX可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。DirectX已被广泛使用于Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360和Microsoft XBOX ONE电子游戏开发。

JVM与DVM架构区别

Java基于栈的架构.
栈是内存上面的一段连续的存储空间;
Android基于寄存器的架构.
寄存器是CPU上面的一块存储空间
所以,CPU直接访问自己上面的一块空间的数据的效率肯定要大于访问内存上面的数据。

Android开发

Dalvik:Android特有的虚拟机,和JVM不同,Dalvik虚拟机非常适合在移动终端上使用!
AVD: (android virtual machine):安卓虚拟设备,就是安卓的模拟器
ADT: (android development tools)安卓开发工具
SDK:(software development kit)软件开发工具包,就是安卓系统,平台架构等的工具集合,如adb.exe
DDMS:(dalvik debug monitor service)安卓调试工具
adb:安卓调试桥,在sdk的platform-tools目录下,功能很多,命令行必备
DX工具:将.class转换成.dex文件
AAPT:(android asset packing tool),安卓资源打包工具
R.java文件:由aapt工具根据App中的资源文件自动生成,可以理解为资源字典
AndroidManifest.xml:app包名 + 组件声明 + 程序兼容的最低版本 + 所需权限等程序的配置文件

NCSA

NCSA(National Center for Supuercomputer Application)

CGI

CGI(Common Gateway Interface)

Socket

套接字(socket)是一个抽象层
应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。
套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。

反弹Shell

反弹shell(reverse shell),就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。
reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。

SecureShell

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。
SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。
SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

用户账户控制

用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。

内核

内核(kernel)利用文件描述符(file descriptor)来访问文件。
文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。
在Windows系统上,文件描述符被称作文件句柄

COFF

通用对象文件格式 (common object file format, COFF)
可执行文件(映像)和对象文件 32 位编程的格式,该格式可跨平台移植。Microsoft 实现叫做可移植可执行 (PE) 文件格式。

ELF

ELF文件由4部分组成,分别是ELF头(ELF header)、程序头表(Program header table)、节(Section)和节头表(Section header table)。
实际上,一个文件中不一定包含全部内容,而且它们的位置也未必如同所示这样安排,只有ELF头的位置是固定的,其余各部分的位置、大小等信息由ELF头中的各项值来决定
在计算机科学中,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。
是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式。
外文名Executable and Linkable Format
常用扩展名o,so,elf,prx

EIP寄存器

eip寄存器存储着我们cpu要读取指令的地址,没有了它,cpu就无法读取下面的指令(通俗点讲cpu就无法执行。每次相应汇编指令执行完相应的eip值就会增加。

系统调用

操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境来使应用程序具有更好的兼容性,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户。系统调用把应用程序的请求传给内核,调用相应的内核函数完成所需的处理,将处理结果返回给应用程序。

中断

中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

暂存器

暂存器是用来暂存由数据总线或通用寄存的东西。它是中央处理器内的其中组成部份。 暂存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、 数据和位址 。

()在C和C++里的区别

() 表示它是一个函数
(用C++的话来讲, 它相当于是重载操作符, 因为main是一个指针, 经过操作符的操作, 它才变成一个int型变量(或C++中的引用)。
()的意思在学C++前的重载前是不需要掌握的, 知道有这个东西就可以.但是注意一下, C语言没有重载.
返回值为int型,会将返回的值回传给主调进程。在C语言中,对主函数的参数和返回类型检查并不严格,当不需要命令行参数时,就可以将参数列表设置为void。类似的,如果不需要返回信息给主调进程,返回值也可以设定为void类型。

符号和文件

符号(函数或变量)
文件(可执行模块)

VA

VA=模块加载基地址+OFFSET。(其实并不是这么简单的相加就完事的,为了讲解方便,我们可以先这么理解)

PCB

进程控制表(PCB)

posted @ 2023-09-06 15:25  酒宴花窗  阅读(62)  评论(0编辑  收藏  举报