热补丁简介

1,热补丁机制

简单理解就是,函数的替换,把之前的同名函数的地址换成新的函数。

具体的原理,就是修改函数入口和出口处的汇编代码,利用指令跳转,实现函数体的替换。

2,补丁代码实现方法

引用的头文件,可以全部保留

修改的函数,整个函数留着,

不修改的函数,直接删掉。

条件编译,有括号的和没有括号的

3,热补丁可修改的范围
(1)热补丁无法修改.h,只能修改.c
(2)可以新增变量和函数
(3)过于简单的函数,可能会被内联优化,从而无法打补丁。
(4)过于简单的函数,如果没有内联,但是汇编指令太少的话,也是无法打补丁的。


4,编码规则
(1)全局变量不能重复定义,要么删掉或注释掉,要么extern
(2)补丁函数用到的全局变量和调用函数需要extern
(3)宏是可以直接用的
(4)静态函数和静态变量不能打补丁(好像是吧?)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值