演示如何使用 MFC 创建线程的示例代码将线程函数声明为静态和__cdecl
. 为什么需要后者?Boost 线程不关心这个约定,所以它只是一个不合时宜的东西吗?
例如(MFC):
static __cdecl UINT MyFunc(LPVOID pParam)
{
...
}
CWinThread* pThread = AfxBeginThread(MyFunc, ...);
而提升:
static void func()
{
...
}
boost::thread t;
t.create(&func);
(代码示例可能不是 100% 正确,因为我离 IDE 还很远)。
__cdecl 的意义何在?创建线程时它有什么帮助?