委托如何获取方法地址
本文关键字:获取 方法 地址 何获取 | 更新日期: 2023-09-27 18:35:08
我想知道 c# 中的委托如何获取方法地址
运行时
前无法确定方法地址那么,委托如何计算出内存处的方法地址呢?
幕后工作原理
我
确实确切地知道,但我认为它的工作方式与旧的 C 相同。
在编译和链接阶段,每个方法都有一个相对于可执行文件开头的固定地址。代码中引用的所有内容的地址都放在 EXE 标头的表中。此表称为"重定位"。
在运行操作系统的阶段,将应用程序加载到可用内存,重新计算重定位表中的所有地址,然后使用新的(绝对)地址修改 EXE 的映像。
实际上,运行的算法有点复杂,详细信息可以在wiki中找到。