lulume1 发表于 2023-4-29 17:41:33

取方法地址

类库有 取静态方法地址   如果要取不是静态方法的地址,怎样才能取到

Xelloss0618 发表于 2023-4-29 17:52:49

只有静态方法才能取到地址,类的动态方法是通过类指针调用的

server 发表于 2023-4-29 17:53:31

<火山程序 类型 = "通常" 版本 = 1 />

方法 _取类函数地址 <公开 静态 类型 = 变整数>
参数 This <类型 = 变整数>
参数 Index <类型 = 整数>
{
    返回 (_读变整数 (_读变整数 (This, ) + (Index - 1) * 4, ))
}

不知道这个能不能。

this用取对象自身类指针()

Xelloss0618 发表于 2023-4-29 18:02:03

server 发表于 2023-4-29 17:53
不知道这个能不能。

this用取对象自身类指针()

没用吧。
一、你没算上类的成员变量和常量
二、你不能保证动态方法的编译顺序
三、动态方法也不是全部都会被编译

lulume1 发表于 2023-4-29 18:16:53

Xelloss0618 发表于 2023-4-29 17:52
只有静态方法才能取到地址,类的动态方法是通过类指针调用的

怎样指针调用呀,能否写下代码看一下

Xelloss0618 发表于 2023-4-29 18:25:52

lulume1 发表于 2023-4-29 18:16
怎样指针调用呀,能否写下代码看一下

读指针处对象 (类指针, 类名).方法 (参数)

lulume1 发表于 2023-4-29 18:37:25

Xelloss0618 发表于 2023-4-29 18:25
读指针处对象 (类指针, 类名).方法 (参数)

类指针这个参数是用什么方法取的呀

雨中漫步 发表于 2023-4-29 19:26:46

lulume1 发表于 2023-4-29 18:37
类指针这个参数是用什么方法取的呀

创建对象指针

创世魂 发表于 2023-4-29 19:30:45

lulume1 发表于 2023-4-29 18:37
类指针这个参数是用什么方法取的呀

<火山程序 类型 = "通常" 版本 = 1 />

方法 取本对象地址 <公开 类型 = 变整数 @嵌入式方法 = "">
{
    @ (INT_P)this
}


这样吧。

Xelloss0618 发表于 2023-4-29 20:33:44

取对象自身指针,其实取变量地址也行
页: [1] 2
查看完整版本: 取方法地址