0

正如您将看到的,我在 c 编程方面并不擅长,仍在学习,但我的 WindowsDefender 因使用 Codeblocks IDE 中的 MinGW 编译此代码而对我大喊大叫。

#include <stdio.h>
#include <string.h>

int main(void){

char *strings[] = {"test", "test"};
char *newStr;
int i;
for(i=0;i<2;i++){
   strcat(newStr, strings[i]);
   printf("%s\n", newStr);
}

return 0;
}

这是来自 Windows Defender 的警告

你能帮我解决这个问题吗?我不知道这是怎么回事。这不可能是一个正常的问题mh?

4

1 回答 1

2

最近几天我在 Microsoft Visual Studio 2019 社区版中用 C 语言编译简单程序时遇到了这个问题。比如这个。

#include <stdio.h>

int main() {

    int a = 10;
    for (int i = 0; i < 5; i++) {
        a--;
        printf("i = %d\n", i);
        if (a == 8) break;
    }
}

问题不在于您的程序(或我的程序),而是 Windows Defender 变得过于偏执,并且错误地识别了正常的编译代码。我得到了和你一样的木马警告。危险在于,如果我们关闭 Defender 的“狼来了”,真正的病毒可能会溜到无人看管的 PC 上。我很想切换到不同的 a/v,比如 AVG,或者切换到 hyper-V,然后在 Ubuntu 上使用 GCC 或 clang 编译程序。

于 2020-06-09T19:41:06.420 回答