一、简介 简介 作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分。由于这部分代 ...
分类:
编程语言 时间:
2020-03-10 17:30:12
阅读次数:
78
一、环境准备 系统:centos 7.6 软件:oracle 11.2.0.4 database: p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip grid集群: p13390677_1120 ...
分类:
数据库 时间:
2020-03-06 12:59:26
阅读次数:
85
一.中断门,和调用门差不多,细节方面有些差异: 1.符号表的问题,调用门中所使用的是GDT表,而中断门中使用的是IDT表. 2.中断门,不能直接传参数. 3.TEPY标志不一样,调用门是1100 ,32位中断门是1110 ,16位中断门是0110. 4.调用方式不太一样,调用门使用的是CALL调用, ...
CGLIB代理: CGLIB底层:使用字节码处理框架ASM,来转换字节码并生成新的类。 CGLIB(CODE GENERLIZE LIBRARY)代理是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的所有方法,所以该类或方法不能声明称final的。 如果目标对象实现了接口,可以强制使用CGL ...
分类:
其他好文 时间:
2020-03-05 01:36:05
阅读次数:
93
Spring Boot版本:2.2.4 每个springboot的启动类都有一个@SpringBootApplication注解 import org.springframework.boot.SpringApplication; import org.springframework.boot.au ...
分类:
编程语言 时间:
2020-03-04 00:09:33
阅读次数:
92
前言 使用命令行进行汇编语言编译十分繁琐,而一个成熟的编译器应需一键就完成程序所有的编译运行。 本文基于Windows平台,配置Asm编译环境,使用Notepad++搭建一个简易的Asm编译器教程。 环境及软件 环境:Windows10 软件:Notepad++ V7.5.8 编译:fzuasm N ...
分类:
编程语言 时间:
2020-03-02 22:28:38
阅读次数:
1318
一、原理区别: java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。 而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。 1、如果目标对象实现了接口,默认情况下会采用JDK的动态 ...
分类:
编程语言 时间:
2020-02-29 20:22:51
阅读次数:
73
int main(){ _asm { //寻找kernel32.dll的基地址 xor ecx, ecx; mov eax, dword ptr fs : [ecx + 30h]; //EAX = PEB mov eax, dword ptr[eax + 0Ch]; //EAX = PEB->Ldr ...
分类:
系统相关 时间:
2020-02-29 14:41:16
阅读次数:
438
C语言 汇编语言 一、C语言 创建变量计算值 #include <stdio.h> int main(void) { // 数据类型 int a = 10; int b = 20; // 计算a+b int c = a + b; printf("%d\n",c); return 0; } 二、C语言 ...
分类:
编程语言 时间:
2020-02-27 13:21:13
阅读次数:
62