这让我很困惑:
typedef bool(*pGetNameByPid)(DWORD PID, TCHAR lpszProcessName[MAX_PATH]);
上面的句子有什么东西吗?我想导出一个GetNameByPid
用 C++ 编写的 DLL 命名的函数。但是编译报告说:
error C2143: syntax error : missing ')' before '*'
有什么帮助吗?
C89中没有bool
类型,这是 Microsoft 编译器支持的 C 标准。您可以使用 anint
或 WINAPIBOOL
作为返回类型:
typedef BOOL (*pGetNameByPid)(DWORD PID, TCHAR lpszProcessName[MAX_PATH]);
从 DLL 导出函数:
__declspec(dllexport) BOOL GetNameByPid(DWORD PID, TCHAR* lpszProcessName)
{
/* Do some work */
return TRUE;
}