Objective c C中的块与目标C之间的差异
这是本节的摘录 您可以复制一个块,甚至可以将其传递给其他线程进行延迟 执行(或者,在自己的线程中,执行到runloop)。编译器和 运行时安排从块引用的所有变量 在区块的所有副本的有效期内保存虽然块是 对于纯C和C++,块也是一个Objto-C。 对象。Objective c C中的块与目标C之间的差异,objective-c,c,objective-c-blocks,Objective C,C,Objective C Blocks,这是本节的摘录 您可以复制一个块,甚至可以将其传递给其他线程进行延迟 执行(或者,在自己的线程中,执行到runloop)。编译器和 运行时安排从块引用的所有变量 在区块的所有副本的有效期内保存虽然块是 对于纯C和C++,块也是一个Objto-C。 对象。 我一直想弄明白最后一句话的意思,但没能理解。句子的第一部分和第二部分对我来说似乎不相容(我可能遗漏了什么)。这是否意味着块在C/C++和objective C中是不同的?这是因为目标C中块对象的捕获方式吗?块的定义方式需要一些运行时支持。即使你
我一直想弄明白最后一句话的意思,但没能理解。句子的第一部分和第二部分对我来说似乎不相容(我可能遗漏了什么)。这是否意味着块在C/C++和objective C中是不同的?这是因为目标C中块对象的捕获方式吗?块的定义方式需要一些运行时支持。即使你可以在一个简单的C++或C程序中声明它们,并使用<代码> BubjIsPox< /Cuff>和
尽管我仍然不清楚blocks运行时是否以相同的方式处理Objective C和C(即使编译纯C,也要创建Objective C对象),以及是否允许在C/C++中使用Block而不创建Objective C对象。欢迎评论。objective-c对象只是一个具有某些要求的c结构,因此是的,它们对于c和objective-c来说完全相同。从技术上讲,编译器只是添加代码来创建其中一个结构。如果没有objective-c运行时,某些部分(例如类)将被忽略。