2016-08-01 3 views
0

Das erste Mal kompilierte ich und lief mein Programm in der Dev-Konsole, als ich es öffnete mein PC begann zu verzögern und es erstellt eine Reihe von. TMP-Dateien auf meinem Desktop mit Namen wie trzFE47.tmp und mein PC fing an zu hängen, ich musste meinen PC ausschalten Ich überprüfte sogar die Hintergrundprozesse mit Taskmanager für etwas Verdächtiges, aber ich fand nichts, als ich meinen PC neu startete Ich ging, mein CPP Programm wieder zu kompilieren, gab mir eine Warnung, verdächtig sagend item gefunden heres mein codewenn ich kompiliere meinen C++ - Code Avast denkt, es ist ein Virus

#include <iostream> 
#include <string> 
#include <cstdlib> 
#include <ctime> 
#include <windows.h> 
#include <stdio.h> 
#include <tchar.h> 
using namespace std; 

int main() { 
    int l; 
    int a; 
    int b; 
    int c; 
    Sleep(3000); 

    srand(time(0)); 
    l = 1+rand()%6; 
    a = 1+rand()%6; 
    b = 1+rand()%6; 
    c = 1+rand()%6; 
    cout << a << endl << b << endl << c << endl; 
    if (a==b&& b==c&&c==a){ 
     int v; 
     cout << "you win"; 
     cin >> v; 
    }else{ 
     cout << "try again?"; 
     string z; 
     cin >> z; 
     if (z == "yes"){ 
      main(); 
     } 
    } 

    return 0; 
} 
+2

Sie können() aus dem Programm nicht Haupt nennen. UB. – doug

+1

Gemäß der Spezifikation können Sie main() nicht aufrufen, aber in der Praxis wird zumindest der GCC-Compiler dies tun. Wenn Sie einen kurzen Blick darauf werfen, würde das zu einer großen Rekursion führen, mit der damit verbundenen Stack-Nutzung. Vielleicht nimmt Avast es als etwas auf, das übermäßige Ressourcen verbraucht? Gibt es eine Protokollausgabe von Avast? – roelofs

+0

Versuchen Sie nicht zu 'namespace std;' –

Antwort

4

Avast neigt zu denken, dass jedes Programm, das es vorher nicht gesehen hat, "verdächtig" ist. Normalerweise "scannt" es das Programm, findet nichts und lässt Sie weiter ausführen. Bei den meisten Antivirensystemen ist es eine gute Idee, den Ordner, in dem Sie Ihren Code kompilieren, in eine exclusion list hinzuzufügen.

A-Seite nicht über Ihr Programm, und wie darauf hingewiesen wurde, Sie can't call main()

+0

Ich möchte meine Funktion ohne Verwendung von System starten ("start program.exe") –

+3

Ich würde empfehlen, eine separate Funktion schreiben, und Hauptanruf, dass Funktion mehrmals statt versuchen und Rufen Sie 'main()' wieder – Assimilater

+2

@ RobloxMan225 Das ist eine völlig separate Frage zu dem, was Sie fragen, und es gibt viele Informationen auf dieser Website über "ein Programm zu laufen, bis ein Benutzer entscheidet, zu beenden" – Tas

Verwandte Themen