本帖最后由 笨来无一悟 于 2025-4-1 02:24 编辑
不止一次看见有小伙伴苦恼于 类的内部 无法用 启动线程 的 方式 调用类方法
今天这个问题完美的解决了
目前市面上主流的解决方案 要么需要类的内部手动申请释放 要么需要使用特制的call 还无法访问类成员
上次试着解决了一下 结果约等于没解决 一个线程就要占一个变量 非常的不合理
贼心不死 反汇编盯了好一会儿 终于把ESP的顺序盯明白了 优化一个原生支持多线程的版本
具体使用方法看测试用例↓↓↓
|
取类方法内部 | 子程序指针 | | |
类方法上到下 | 整数型 | | | | 存放代码变量 | 字节集 | | | |
存放代码变量 = { 255, 52, 36, 199, 68, 36, 4, 0, 0, 0, 0, 184, 0, 0, 0, 0, 255, 224 }置入代码 ({ 139, 69, 12, 139, 0, 131, 192, 8, 54, 139, 85, 0, 62, 139, 82, 8, 62, 137, 80, 7, 62, 139, 18, 62, 139, 18, 54, 139, 77, 8, 62, 139, 84, 138, 4, 62, 137, 80, 12, 201, 194, 8, 0 }) 返回 (&欺骗编译器 ) |
取类方法外部 | 子程序指针 | | |
已声明类变量 | 通用型 | | | | 类方法上到下 | 整数型 | | | | 存放代码变量 | 字节集 | | | |
存放代码变量 = { 255, 52, 36, 199, 68, 36, 4, 0, 0, 0, 0, 184, 0, 0, 0, 0, 255, 224 }置入代码 ({ 139, 69, 16, 139, 0, 131, 192, 8, 54, 139, 85, 8, 54, 137, 80, 7, 62, 139, 18, 62, 139, 18, 54, 139, 77, 12, 62, 139, 84, 138, 4, 54, 137, 80, 12, 201, 194, 12, 0 }) 返回 (&欺骗编译器 ) 返回 (&欺骗编译器 ) 来自群组: 热心网友 |