定义函数void (* my_function)(void);
在程序中赋值:
my_function = 0x00;
然后调用函数:
my_function();
程序就会跳转到0x00地址开始执行,常用于BootLoader程序中.
类似的还有直接向某个地址写入数据:
int *my_address = 0x05555555;
*my_address = 0x22222222;
直接向0x05555555地址写入数据0x22222222.
本文介绍如何使用函数指针直接调用特定内存地址的代码,并演示了如何直接向指定内存地址写入数据。这两种技术在BootLoader等底层程序开发中较为常见。
定义函数void (* my_function)(void);
在程序中赋值:
my_function = 0x00;
然后调用函数:
my_function();
程序就会跳转到0x00地址开始执行,常用于BootLoader程序中.
类似的还有直接向某个地址写入数据:
int *my_address = 0x05555555;
*my_address = 0x22222222;
直接向0x05555555地址写入数据0x22222222.
您可能感兴趣的与本文相关的镜像
GPT-SoVITS
GPT-SoVITS 是一个开源的文本到语音(TTS)和语音转换模型,它结合了 GPT 的生成能力和 SoVITS 的语音转换技术。该项目以其强大的声音克隆能力而闻名,仅需少量语音样本(如5秒)即可实现高质量的即时语音合成,也可通过更长的音频(如1分钟)进行微调以获得更逼真的效果
7127
556
613
1万+
733

被折叠的 条评论
为什么被折叠?