Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Znikanie consoli


Rekomendowane odpowiedzi

Opublikowano

Witam zaczynam zabawę z programowaniem.

Zrobiłem taki "programik" w C++:

 

#include <iostream>
#include <cstdio>
using namespace std;


int main()
{
cout<<"==============" << endl;
cout<<"= To proste! =" << endl;
cout<<"==============" << endl;
cout<<"\t A jak to zrobic?" << endl;
cout<<"Koniec" << endl;
return 0;
}

Problem jest w tym że consola znika błyskawicznie jak go odpale, ledwo co da się przeczytać.

A napis Hello World! (testowy) normalnie trzyma do póki nie kliknę klawisza.

Co zrobiłem źle? Błędów ani ostrzeżeń nie widać.

Program to Code::Blocks 12.11, w wersji 13.12 jak odpalam ten program to wyskakuje brak odpowiedzi. 

 

 

Opublikowano

system("PAUSE") albo getch() (biblioteka conio.h)

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

A dlaczego w tym pierwszym podstawowym programie Hello world! nie ma żadnych systemów i bibliotek a działa?

 

Like masz :) Potem przetestuje.

Opublikowano

A dlaczego w tym pierwszym podstawowym programie Hello world! nie ma żadnych systemów i bibliotek a działa?

 

Like masz :) Potem przetestuje.

Przecież bez iostream nie możesz nawet użyć polecenia cout, więc musisz ją dołączyć. 

Pokaż ten podstawowy program, to ci wyjaśnimy, dlaczego działa tak, a nie inaczej.

ㅈㅈ.

Opublikowano
#include <iostream>


using namespace std;


int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

Chodziło mi że nie ma takiej biblioteki jak Oczko napisał, a nie że w ogóle nie ma. :)

 

 

Dobra rozwiązałem problem. Po prostu ten program nie mógł być na pulpicie. 

Opublikowano

Odpalam właśnie programem Code::Blocks to jest chyba IDE. Jeśli się mylę to mnie poprawcie.

 

Mam jeszcze problem że po kilku kompilacjach(czasem nawet jednej) pojawia mi się błąd z permissions, przez to że mam ten program w procesach. Wszystko by było fajnie jakby można było ten proces zamknąć przez menadżera ale niestety się nie da. Pobrałem ProcessManager ale też niestety nie pomaga. Tak samo gdy próbuję ręcznie przenieść lub usunąć np. folder w którym znajduję się pliczek z programem to także nie da rady. 

Pobrałem Dev C++ ale efekt taki sam.

 

Jestem totalnie zielony, niby mi się wydaje że wszystko dobrze zrobię ale może coś nie tak ustawiłem.

Sopelek widzę że ogarniasz to może pomożesz? 

Opublikowano
Opublikowano

Na początku co mi się wydaję że jest źle to że po odpaleniu programu (nawet Hello world!) pojawiają się 2 console jedna zawiera program, druga jest pusta. Po kliknięciu w programie przycisku "abort" konsola znika, ale jest odpalona dalej w tle(widać ją w procesach). Powstają wtedy dwa zbędne procesy pierwszy to nazwa_programu.exe a drugi to cb_console_runner.exe. Nie da się ich zakończyć w żaden sposób.

 

A błąd wyskakuje potem taki:

ld.exe|| cannot open output file bin\Debug\nazwa_programu.exe Permission denied|
||=== Build finished: 1 errors, 0 warnings (0 minutes, 0 seconds) ===|
 
Nic dziwnego że nie ma uprawnień jak ten program jest odpalony w tle. Tylko dlaczego się nie chce zamknąć?
 
A plik teraz mam na dysku C w folderze C++.
Opublikowano

A nazwa procesu tej drugiej konsoli?

Nigdy się z czymś takim nie spotkałem, jedynie co przyuważyłem, to że przy zamknięciu cb console runner przez menadżera zadań uruchamia się on ponownie (zostaje jedna konsola z programu i druga z nowego cb console runner). Możliwe więc, że coś go próbuje zamknąć zaraz po odpaleniu. Wyjaśniło by to problem z dwiema konsolami. Jednak nie mam pojęcia dlaczego nie można zamknąć tych procesów.

 

Zobacz czy to nie jest wina antywirusa, firewalla, choć wątpię, bo w ogóle zablokował by możliwość włączenia.

Opublikowano

Nazwa tej drugiej to tak jak pisałem moja nazwa programu z rozszerzeniem .exe np. TEST.exe.

Klikam zakończ proces, potem jeszcze raz zakończ. Nic nie wyskakuje ale proces nadal trwa. 

Chciałem się zacząć bawić z programowaniem fajnie mi się bawi, ale teraz muszę prawie co każdą kompilacje tworzyć nowy projekt bo stary jest już uruchomiony w tle albo resetować kompa:/ A to trochę uciążliwe. Jeszcze spróbuję wyłączyć zaraz antywirusa bo może on coś blokuje, ale na razie robię skan czy czegoś nie złapało. 

 

 

Widziałem na innych forach to mieli problem z tym permission denied ale oni dawali radę zakończyć proces i było po problemie, a mi nic nie pomaga:/

 

Wyłączyłem Avasta i śmiga. Możliwe żeby on coś blokował?

Sopelek dostajesz like'i za checi. Dzięki, chyba już wszystko ok :)

Opublikowano

Ale to na 100% od tego bo próbowałem włączyć i efekt wraca (dwie console, procesu nie da się zakończyć).

 

Także jakby ktoś miał podobny problem to Avast (antywirus) OFF.

 

 

MOŻNA ZAMKNĄĆ

Opublikowano

Podpowiem tylko, żebyś nie wyłączał całego antywira, bo to nierozsądne. 

 

Dodaj po prostu do listy wyjątków folder, w którym będziesz tworzył swoje projekty. 

 

@Sopel

Antywiry blokują nie kompilatory ( te akurat są dobrze znane ) ale właśnie własnoręcznie tworzone aplikacje. 

Ta sygnatura jest pusta.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...