今天写一个程序突然出现编译错误,不知为何,最后才明白.
#include <stdio.h>
#include <windows.h>
#define szName TEXT("ProcessName")
int GetProcessIdFromName(LPTSTR szName)
{
printf(szName);
return NULL;
}
void main()
{
GetProcessFromName(szName);
}
你能很快找到错误吗?就是一个很明显的错误,szName 会替换所以得。所以引起错误。
当然我们可以这样定义szName.
const LPTSTR szName = TEXT("ProcessName");
或者把#define 拿到 GetProcess 函数体后,main之前。这样真的不太好。还是用上面的算了。