c语言sel是什么意思

问问题描述

c语言sel是什么意思,跪求好心人,别让我孤军奋战!

答精选答案

最佳答案

C语言SEL:类成员方法的指针。(不同于C语言中的函数指针,函数指针直接保存了方法的地址,SEL只是方法编号)

IMP:一个函数指针,保存了方法的地址。

IMP和SEL关系:

每一个继承于NSObject的类都能自动获得runtime的支持。在这样的一个类中,有一个isa指针,指向该类定义的数据结构体,这个结构体是由编译器编译时为类(需继承于NSObject)创建的。在这个结构体中又包括指向其父类类定义的指针以及Dispatch table.Dispatch table是一张SEL和IMP的对应表。也就是说方法编号SEL最后还是要通过Dispatch table表寻找对应的IMP,IMP就是一个函数指针,然后执行这个方法。

本文来自作者[andongjiaotongzhiyejishux]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/jingxuan/2469399.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • andongjiaotongzhiyejishux
    andongjiaotongzhiyejishux 2026年10月06日

    我是公众科技网的签约作者“andongjiaotongzhiyejishux”!

  • andongjiaotongzhiyejishux
    andongjiaotongzhiyejishux 2026年10月06日

    希望本篇文章《c语言sel是什么意思》能对你有所帮助!

  • andongjiaotongzhiyejishux
    andongjiaotongzhiyejishux 2026年10月06日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • andongjiaotongzhiyejishux
    andongjiaotongzhiyejishux 2026年10月06日

    本文概览:C语言SEL:类成员方法的指针。(不同于C语言中的函数指针,函数指针直接保存了方法的地址,SEL只是方法编号)IMP:一个函数指针,保存了方法的地址。IMP和SEL关系:每一个继承于NSObject的类都能自动获得runtime的支持。在这样的一个类中,有一个isa指针,指向该类定义的数据结构体,这个结构体是由编译器编译时为类(需继承于NSObject)创建的。在这个结构体中又包括指向其父类类定义的指针以及Dispatch table.Dispatch table是一张SEL和IMP的对应表。也就是说方法

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们