美文网首页
iOS inline内联函数

iOS inline内联函数

作者: 爱吃麦子的鱼 | 来源:发表于2018-02-26 15:05 被阅读17次

    在看YYKit源码时,看到static inline组合
    1、static 表示只在本文件中应用,比如在A文件中有static A,在B文件中同样存在static A,不会包重复命名错误
    2、inline表示内联函数,解决函数的调用效率问题


    inline.jpg

    inline说明

    1、内联函数只是我们发给编译器的一个请求,不一定会被采用
    2、内联函数内部不能写大量代码,编译器会自动放弃内联函数
    3、内联函数内部不允许开关语句和循环语句
    4、内联函数的定义必须在调用之前

    优点

    1、inline相对于函数

    • 解决函数调用效率问题。在汇编时没有调用call,取消了函数参数压栈,减少了调用开销

    2、inline相对于宏

    • 不需要预编译
    • 在编译时对参数类型进行检查
    • 可以使用受保护类型的属性

    参考

    https://www.jianshu.com/p/d557b0831c6a
    https://www.jianshu.com/p/a39e79b1bed8

    相关文章

      网友评论

          本文标题:iOS inline内联函数

          本文链接:https://www.haomeiwen.com/subject/vwryxftx.html