初学 oc,混合 c++ 编写一个工具类,
因为 oc 可以跟 c++ 混编,所以有了这个想法,是否可以在 c++ 中调用 oc 的块呢?
c++ 头文件定义了块
typedef void (^fetched_block)(const unsigned char *data, size_t size);
调用写成这样
fetched((const unsigned char *)data, size);
运行时毫不留情的给了 EXC_BAD_ACCESS
初学 oc,混合 c++ 编写一个工具类,
因为 oc 可以跟 c++ 混编,所以有了这个想法,是否可以在 c++ 中调用 oc 的块呢?
c++ 头文件定义了块
typedef void (^fetched_block)(const unsigned char *data, size_t size);
调用写成这样
fetched((const unsigned char *)data, size);
运行时毫不留情的给了 EXC_BAD_ACCESS
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答3.3k 阅读
你的block copy了吗?默认不在全局范围定义的block都会被初始化为栈block类型,copy之后就会被复制到堆上。如果你在栈作用域之外调用栈上的block就等于是在非法访问内存了。