-2

リリースモードを使用してVS C++ 2012を使用してビルドするときに、c++でプログラムを作成しました

ランタイム ライブラリ: "MultiThreaded(/MT)

次に、avast アンチウイルスによってウイルスとしてキャプチャされます。しかし、Runtime Library を "MultiThreaded 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;
}
4

2 に答える 2

0

あなたは一人ではないようです。 http://blog.nirsoft.net/2009/05/17/antivirus-companies-cause-a-big-headache-to-small-developers/

http://social.msdn.microsoft.com/Forums/vstudio/en-US/f0e33f0b-fa4c-46bf-b515-186eb4d32660/code-gets-detected-as-a-virus

行った各呼び出しをスタブ化し、どの API 呼び出しが問題であるかを特定してから、別のものに置き換えます。- 問題の原因がコンパイラ スイッチの単なる事実でない限り。分割統治。また、情報をアバストに送信します。

于 2014-10-05T12:47:37.107 に答える