当我使用 VS C++ 2012 使用发布模式构建它时,我在 C++ 中创建了一个程序
运行时库:“多线程(/MT)
然后它被avast杀毒软件捕获为病毒。但是,如果我将运行时库更改为“多线程 DLL(/MD)”,那么 avast 就不会将其捕获为病毒。
这是代码
LPWSTR _GetUserName();
void FileWriteLine(LPCWSTR filePath,LPCWSTR line);
int main()
{
LPCWSTR userName = _GetUserName();
FileWriteLine(userName,L"Hello World");
return 1;
}
void FileWriteLine(LPCWSTR filePath,LPCWSTR line)
{
wfstream fileHandle(filePath,ios::out | ios::app);
fileHandle << line<<endl;
fileHandle.close();
}
LPWSTR _GetUserName()
{
LPWSTR username = new TCHAR[257];
DWORD size = 257;
if (!GetUserNameW(username,&size))
{
username = _wgetenv(L"USERNAME");
if (username == NULL)
{
username = L"Error-Unknown";
}
}
return username;
}