urenai 发表于 2023-12-28 12:13:02

@小小小小鸟 看看这骚操作。

本帖最后由 urenai 于 2023-12-28 12:17 编辑

似乎是堆栈问题?
还是什么其他问题。

抛开执行完报错的问题。
获取到的指针,不能脱离当前空间。
就类似,函数返回文本,当函数返回后,内部变量就释放了,外部自然无法获取正确值。




呵呵仙8 发表于 2023-12-28 12:33:42

:L都写成类了.还要搞这么复杂,直接用类事件作线程事件不就完事了??

Xelloss0618 发表于 2023-12-28 14:36:08

一、你要先了解 lambda 表达式是什么,它可以原位定义一个匿名函数,而匿名函数是全局函数,是不会释放的。
二、如果使用"嵌入式方法"封装,匿名函数会定义在调用语句的位置,所以每次调用这种嵌入式方法,生成的匿名函数是不同的个体,地址也不一样。
三、你调用匿名函数的地址报错,是因为你没有提供正确的参数(当前的类指针)。

cloud261 发表于 2023-12-30 12:23:02

没有捕获外部变量的lambda函数可以安全转成函数指针,不会被释放,不过这样跟写成全局函数没啥区别了
捕获了变量的lambda实际上是个匿名的结构体+函数, 就不能转指针保存了
你这搞这么复杂,汇编都上了,是要实现什么

urenai 发表于 2023-12-30 14:47:22

cloud261 发表于 2023-12-30 12:23
没有捕获外部变量的lambda函数可以安全转成函数指针,不会被释放,不过这样跟写成全局函数没啥区别了
捕获了 ...

闹着玩的,没什么追求。
就是好奇,因为不了解,就是想尝试一下。
页: [1]
查看完整版本: @小小小小鸟 看看这骚操作。