运行最简单的C++程序时AVG Access拒绝警告

Dav*_*ton 5 c++ antivirus iostream g++

我正在运行一个非常简单的C++程序:

#include <list>
#include <vector>

int main(int argc, char **args) {

}
Run Code Online (Sandbox Code Playgroud)

我转到命令提示符并编译并运行:

g++ whatever.cpp
a.exe
Run Code Online (Sandbox Code Playgroud)

通常情况下这很好.它编译得很好,但是当我运行它时会说拒绝访问并且AVG弹出告诉我已经检测到威胁Trojan Horse Generic 17.CKZT.我尝试使用Microsoft编译器(cl.exe)再次编译,它运行罚款.所以我回去了,并补充道:

#include <iostream>
Run Code Online (Sandbox Code Playgroud)

使用g ++编译并运行.这次它工作得很好.

所以任何人都可以告诉我为什么AVG会报告一个空的主要方法作为特洛伊木马,但如果包含iostream标题,它不会?

更新:

我在main方法中添加了一个return语句,现在我发现如果我返回0,我只会得到错误.任何其他返回值,它似乎工作正常.

这里发生了什么?

In *_*ico 4

您不是第一个遇到防病毒软件误报的人。

可能发生的情况是,防病毒启发式方法在程序中存在的标准运行时库上出错,因为恶意软件也使用它们。当然,合法软件也使用它们!它没有失败的事实iostream可能意味着它iostream在恶意软件编写者中不太受欢迎。