精易论坛

标题: 子程序指针 为啥只能传递整数型参数 [打印本页]

作者: qq52280449    时间: 2022-8-13 09:49
标题: 子程序指针 为啥只能传递整数型参数


作者: r3gp22    时间: 2022-8-13 09:49
qq52280449 发表于 2022-8-13 09:52
小白求原理

因为你无论传递什么类型,到了内存查看反汇编时,看到的都是个十六进制数而已。
不同的点在于,如果你传的参数本来是个整数型值,那么这个值,在目标子程序中是可以直接获取到的;
如果传的是个字节集或者文本啥的,那么实际你需要传的是指向这些类型数据的地址,目标子程序通过间接访问,才能得到它。
就好比,你不会在汇编代码里看到文本,只能看到装文本的地址指针.
读写内存这些API,其中有个参数有好几种类型,它们反编译成汇编代码时,你会看到这个参数所有类型,除了整数型外 其它类型传进去的都是指针.
作者: qq52280449    时间: 2022-8-13 09:52
小白求原理
作者: 大司命    时间: 2022-8-13 09:53

万能的整数型~
作者: xdj123    时间: 2022-8-13 10:01
传递内存地址
作者: 空竹    时间: 2022-8-13 10:36
子程序指针是一个内存地址,他是整数型的
作者: 空竹    时间: 2022-8-13 10:37
E写的都是32位程序所以都是整数型

64位程序的子程序指针也有长整数型




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4