我使用Code :: Blocks
运行以下命令#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world !!!!!!!";
return 0;
}
现在,昨晚有一些关于我如何知道我的回报价值的问题。我不知道这是不是我的版本,但是在我的版本上运行程序后,它会显示“Process return v(0xv)execution time ...”等等,其中“v”是返回值。
现在,这就是我要问的问题,这一点就像我能做到的那样清晰。
当我运行它时,它返回值1993075819而不是0.此外,程序不运行,它只是显示返回值。
值得注意的两件事:
每当我尝试这样做时,AVG就会弹出,并将其报告为特洛伊木马
如果我在没有
的情况下运行代码cout << "Hello, world!!!!";
它会像它应该返回0并且AVG不会弹出
我该如何解决这个问题? (Code :: Blocks 12.11)
答案 0 :(得分:0)
问题不在于您的代码,而在于AVG产生的误报。返回代码1993075819是因为AVG拦截程序并且不让它运行。
你可以report the false positive to AVG。病毒供应商实际上非常擅长修复用户报告的误报。当我曾经在一家产生大量误报的公司工作时(安全相关的代码做了引发误报的时髦事物),周转时间通常是一周左右。
同时,如果您使用不同的编译器开关(例如,如果当前未优化编译器,则优化编译,反之亦然),您生成的代码很可能不会触发误报。
您还可以将已编译的程序添加到AVG安全列表中:
答案 1 :(得分:0)
禁用AVG或将其配置为不要抱怨您的可执行文件。出于某种原因,启发式方法错误地解释了可执行文件中的某些位模式,就好像它是一个木马并在它启动之前将其杀死。您获得的结果代码来自截获的程序调用(即防病毒),而不是来自您的程序甚至没有运行。