看书书上说INLINE会展开,但是编译后都是使用CALL,也就是说没有展开啊,为什么呢?

解决方案 »

  1.   

    inline标记是直接替换代码段,从而编译的。
      

  2.   

    它使用CALL 也就是说没有替换原来的代码啊
      

  3.   

    int c = add(a); cout<<c<<endl; 这个的汇编代码还是CALL,没有展开,没有替换原来的代码 cin>>a; return 0;
    }inline int add(int b)
    {
    if(b > 100)
    {
    return 0;
    }
    int e = b;
    e++; int f = add( e );
    return f++;
    }
      

  4.   

    VC++可以使用__forceinline强制内联。