首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

inline验证与默认参数的疑点

2014-01-12 
inline验证与默认参数的疑问OCP_UINT32 uTopFlag 10inline bool GetTopOverFlag(OCP_UINT32 index,OCP_

inline验证与默认参数的疑问
OCP_UINT32 uTopFlag = 10;
inline bool GetTopOverFlag(OCP_UINT32 index,OCP_UINT32* pflag = &(uTopFlag))  {return (*pflag & index);}

各位大大好,如题
如何看inline有没有嵌入成功,会不会被编译器当成一般函数看呢?
如加了默认参数的inline,还会不会是inline
谢谢~~~
[解决办法]

引用:
Quote: 引用:

release版看看汇编码。

这....汇编看不懂...没有其他办法了么?
如编译警告之类的
unix或vc的都可以


vc2013 debug:

return GetTopOverFlag(argc);
0109143E  push        1098000h  
01091443  mov         eax,dword ptr [argc]  
01091446  push        eax  
01091447  call        GetTopOverFlag (010910E6h)  //call是函数调用指令,没有内联
0109144C  add         esp,8  
0109144F  movzx       eax,al  
}


vc2013release,没有call指令了,所以已经内联。
return GetTopOverFlag(argc);
00341003  mov         eax,dword ptr ds:[00343018h]  
00341008  and         eax,dword ptr [argc]  
0034100B  neg         eax  
0034100D  sbb         eax,eax  
0034100F  neg         eax  

热点排行