Wiersz poleceń nie reaguje i tworzą się jednocześnie 3 procesy po kompilacji w Code::Blocks

0

Mam bardzo dziwny przypadek lub bug w Code::Blocks, a mianowicie po kompilacji jakiegokolwiek kodu [C++] tworzą mi sie 3 lub więcej procesów wiersza poleceń który nie reaguje i nie dają się wyłączyć (okienko normalnie się da), a gdy chcę usunąć plik *.exe który powoduje ten proces to wybija mi błąd mówiący o tym, że proces jest uruchomiony w "System". To samo dzieje się gdy próbuję uruchomić poza środowiskiem lub z samego cmd.

Windows 7 Home Premium SP1
Code::Blocks 13.12

Screen w załączniku.

Przykładowy kod (bardzo prosty mechanizm zmieniania współrzędnych - w zasadzie nie istotny ale może jest w nim jakiś katastrofalny błąd który to powoduje :/ )

#include <iostream>
#include <conio.h>

int main()
{
   using namespace std;

   int vertical = 0;
   int horizontal = 0;

   int kierunekPoruszaniaPostaci = 1;
   bool yn = 1;

   do
   {
      cout << "Vertical: " << vertical << "|" << "Horizontal: " << horizontal << endl;
      cin >> kierunekPoruszaniaPostaci;


      switch(kierunekPoruszaniaPostaci)
      {
         case 49:
         vertical++;
         break;

         case 50:
         vertical--;
         break;

         case 51:
         horizontal++;
         break;

         case 52:
         horizontal--;
         break;

         default:
         horizontal = 0;
         vertical = 0;
         break;
      }

   cout << "End? [1] YES | [2] NO :";

   yn = getch();

   }while( yn == 1 );

   return 0;

}

 
0

Ten program zawiera nieskończoną pętlę, jego wykonywanie nigdy się nie zakończy.

0

Ale zanim wykona kolejną pętlę to pyta się użytkownika czy kontynuować :) dzisiaj spróbuje przeinstalować kompilator i zobaczyć czy to coś da bo reinstalacja całego Code::Blocks nic nie rozwiązała :/

Co dziwne, w innych środowiskach działa - a u mnie nie ..
Wcześniej działało. Jak reinstall kompilatora nic nie da to spróbuje przywrócić system za pomocą punktu przywracania systemu, a jak to nie da rady to pozostaje format Windows i ponowna instalacja lub zmiana środowiska :/

1

A dlaczego do typu bool chcesz wpisać int'a??

O_o

Dlatego Ci nie działa.

0
grzesiek51114 napisał(a):

A dlaczego do typu bool chcesz wpisać int'a??

O_o

Dlatego Ci nie działa.

Dalej nic, nadal wywala 3 wątki i wiersz poleceń nie reaguje LOL, co tu się ..

$UPDATE: Napisałem Hello Worlda i też nie działa :O

0

Nie pokazałeś deklaracji zmiennej zn. Spróbuj tak:

char yn = '1';
...
}while( yn == '1' );
0

To wklej kod na jakiegoś http://ideone.com chociażby i sobie zobaczysz. Albo zmień kompilator na jakiś bardziej zaawansowany. Na VS czy QtCreatora np.
A tak w ogóle to postaw sobie trapa debuggera w pętli.
Jak postawisz to uruchom sobie program w trybie debug. Jak program będzie się bez przerwy zatrzymywał w pętli to masz już odpowiedź.

BTW: ten program na screenie na hello world nie wygląda.

0

Code Blocks ma to do siebie że musisz mu na początku zaimportować wszystkie biblioteki, są dwie wersje środowiska, w jednej masz biblioteki już w systemie, a w drugiej musisz mu ścieżki do bibliotek podać. Coś mi się wydaje że zainstalowałeś i nie zrobiłeś tego więc nawet Hello World Ci nie działa.
Sprawdź ścieżki do bibliotek.

0

Rozwiązałem problem!! :D Przekopałem cały Internet (ostatecznie znalazłem na StackOverflow - jakże by inaczej ;) ) żeby dowiedzieć się, że antywirus (Avast) ma włączoną jakąś opcje (najprawdopodobniej Deep Screen) która potajemnie blokowała mi wykonanie się programu (nie wyświetlało mi się to okienko testowane jednocześnie w sandboksie, wyświetlało mi się to blokowane które oczekiwało na sygnał od AV, że program który napisałem jest bezpieczny, a te w sandboksie było schowane i zamrożone + nie dało się go wyłączyć TaskManagerem i przejść do wykonywania bez skanowania, stąd te 3 procesy main.exe (z czego jeden który zabierał najmniej pamięci dało się wyłączyć) - nie wiem jakim cudem to się stało ale wyczuwam buga w Avaście)

Rozwiązanie w skrócie: wyłącz wszystkie funkcje antywirusa i włączaj po kolei tyle, żeby nie blokowało aplikacji.

Tak czy inaczej, dzięki wszystkim za pomoc i fatygę :) Dzięki Bogu za StackOverflow :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1