debugowanie

1

witam drodzy programiści,
nie jestem specjalistą od C++ dlatego moje pytanie może być nieprecyzyjne, z góry przepraszam.

Dlaczego podczas w Visualu w programowaniu konsolowym podczas kompilacji okienko pojawia się na moment i zaraz znika, a podczas sprawdzania, debugowania krok po kroku (step into i step over) wszystko działa poprawnie.
Czy da się coś z tym zrobić?

bardzo proszę o kulturalne komentarze.
Pozdrawiam serdecznie!

0

Wszystko jest ok. Program się odpala, robi co ma robić i o ile nic z tym nie zrobisz to się zamyka.
W visualu to:
cin.ignore();
cin.getchar(); ;)

0

Jest to prawidłowe działanie. Program się rozpoczał, zrobil co miał i wyłączył, a razem z nim konsola. Dlatego niektóre IDE zatrzymują konsolę po wyłączeniu programu, tak jak właśnie Visual w trybie debugowania. Nie ma sensu sztucznie zatrzymywać program, żeby konsola się nie wyłączyła, choć niektórzy tak robią.

W Code::Blocks tak samo jak da się Build and Run to program sie odpali, wykona, wyłączy, a IDE zatrzymuje konsole wraz z informacją jakąwartość program zwrócił.

0

ok, już wiem.
działa przy:
getche();
getch();
system("Pause");
cin.sync(); cin.get();
ale przy getchar() okienko mi szybko znika,
w sumie jest wiele tych pozostałych, ale jak ktoś ma pomysł dlaczego akurat przy getchar() znika to będę wdzięczny.

0

Bo musisz jakąś bibliotekę dołączyć chyba... cstdlib albo stdlib ;P nie pamiętam.

1
tubbs napisał(a):

getche();
getch();
conio.h - nie przenośny - odradzany

tubbs napisał(a):

system("Pause");
"DOS'owa" pausa - nie przenośny - odradzany

tubbs napisał(a):

cin.sync(); cin.get();
ok

getchar(); - jest odpowiednikiem cin.get();
fflush(stdin); - jest odpowiednikiem cin.sync(); - ba nawet lepszym odpowiednikiem*, bo nie zadziała pod linuksem a tam nie trzeba zatrzymywać bo samo nie znika.

    • o ile można tak się wyrazić.

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