inline验证与默认参数的疑问
OCP_UINT32 uTopFlag = 10;
inline bool GetTopOverFlag(OCP_UINT32 index,OCP_UINT32* pflag = &(uTopFlag)) {return (*pflag & index);}
各位大大好,如题
如何看inline有没有嵌入成功,会不会被编译器当成一般函数看呢?
如加了默认参数的inline,还会不会是inline
谢谢~~~
[解决办法]
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
}
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