谁能告诉我内联函数和静态内联函数有什么区别?
在哪些情况下我应该更喜欢静态内联而不是内联?
我问这个问题是因为我有一个内联函数,在链接(relocation error:... symbol has been discarded with discarded section ...
)期间我面临编译问题。我把它变成了一个正常的功能,它起作用了。现在我的一些前辈告诉我尝试使用静态内联。以下是我的功能:
inline void wizSendNotifier (const char* nn_name, bpDU* arg=0, int aspect = -1)
{
wizuiNotifier* notifier = ::wizNtrKit.getNotifier (nn_name);
notifier->notify (arg, aspect);
}
这不在课堂上。这是在头文件中!
我猜对静态函数的调用应该只在定义它的特定 TU 中完成。
由于我的函数位于头文件中,并且如果我将其设为静态,是否会出现在我包含该头文件的情况下,静态函数可以在该翻译单元中使用?