Witam, przejde od razu do konkretow. Pisze podstawowy program w ANSI C uzywajac kompilatora Dev C++. Gdy napisze program np. taki (zaczynam nauke:D)
/* zamiana 2 stopy na cale*/
#include
int main(void)
{
int stopy,cale;
stopy = 2;
cale = 12*stopy;
printf("%d stopy rownaja sie %d calom! .",stopy,cale);
system("pause");
return 0;
}
przy kompilacji wyswietal tylko napis zeby nacisnac dowolny klawisz a nie wyswietla juz tego co w printf. Aby to wyswietlic nie nalezy tylko zamknac zakladke programu i uruchomic plik .c tylko za kazdym razem musze uruchamiac na nowo komilator aby wszystko sie wyswietlilo poprawnie. Prosze o pomoc jak z tym sie uporac?
Napisze od nowa. Pisze po prostu podstawowy program miedzy innymi z system(“pasue”) po to by zobaczyc efekt programu a nie zeby smignal tylko przed oczyma. Kompiluje program. Na dysku tworza sie wszystkie pliki ktore sie powinny utworzyc i wyskakuje okienko tylko z trescia odnoszaca sie do: system(“pause”) a nie wyskakuje juz to co napisalem w programie tzn. np. jakis tekst. Jesli nie wylacze programu i uruchomie .exe ktory sie utworzyl to wyskoczy mi znow tylko tresc odnoszaca sie do system(“pause”). Zeby wszystko zadzialalo jak trzeba musze wylaczyc program. Wlaczyc go na nowo, skapilowac na nowo i wtedy dopiro wszsystko sie kompiluje jak trzeba i .exe dziala jak trzeba. Teraz to jasno wytluamczylem wiec co radzicie:D?
Chyba jest oczywistym że nie możesz na nowo skompilować program który jest w tej chwili uruchomiony, ponieważ do uruchomionego pliku jest dostęp tylko do odczytu.
No ale jak wylaczam program i uruchamiam .exe za pierszym razem to dalej jest klopot. Musze go drugi raz wlaczyc z rozszerzenia .c i skmpilowac zeby poprawnie sie skomilowal i poprawnie chodzil .exe
Heh teraz postaram sie to opisac jak najdokladniej: Wlaczam kompilator, pisze taki o to podstawoway program:
#include
int main (void)
{
printf ("Hello World!");
system("pause");
return 0;
}
Nastepnie wciskam F9 aby skompilowac program. Miedzy czasie pyta mnie gdzie zapisac pliki itd. Wskazuje jakies miejsce. No i jak juz wskaze miejsce to sie kompiluje bo wciasnalem wczesneij F9. Na ekranie pozuje sie napis:
Nastepnie stwierdzilem ze moze dlatego ze kod zrudlowy znajduje sie w kompilatorze. No to zamknalem zakladke z kodem zrudlowym w kompilatorze i uruchomilem program wynikowy(np. plik.exe). Po czym na ekranie wyskoczylo
Nawet kilkakrotna kompilacja nic nie dala. Pozniej doszedlem do tego ze aby kompilator poprawnie skomilowal i plik.exe poprawnie wyswietlal to co ma wyswietalc musze zamknac kompilator i na nowo go uruchomic nastepnie wczytac kod zrudlowy i ponownie skompilowac…wtedy juz kompiluje poprawnie i wsywietla co co powinno wyswietlic i wtedy przy uruchomieniu plik.exe rowniez wyswietla to co powinno wyswietlic. Caly problem polega na tym zeby zrobic “cos” aby nie trzeba bylo za kazdym razem wylaczac kompilaora i go wlaczac. Wyjasnione tak ze bardziej sie nie da. Czekam na jakies odpowiedzi i z gory dzekuje.
No, a nie wiesz? ;D Od wtedy gdy ludzie zabierają się za programowanie Bo przecież łatwiej “informatykowi” w szkole powiedzieć uruchomcie kompilator, niż IDE
Słusznie. I mam nadzieję, że nigdy do tego badziewia nie wrócisz.
Takie dziwne zachowanie może wynikać z nieprawidłowej instalacji, konfiguracji SO, jakiegoś nieokreślonego błędu, albo też z faktu, że Dev-C++ jest starym, nierozwijanym, zabugowanym i niestabilnym programem.
To tak, jakbyś kupił na skupie złomu syrenkę i dziwił się, że Ci nie chce odpalić.
Tylko mała uwaga - kompilator, to program zamieniający kod źródłowy w plik wykonywalny. To, co Ty nazywasz kompilatorem (i co próbuje udawać badziewie zwane Dev-C++), to IDE - zintegrowane środowisko programistyczne. Czyli program pełniący m.in. funkcje edytora kodu źródłowego, debuggera, a także umożliwiający kompilowanie kodu przy pomocy kompilatora (który wciąż jest zewnętrznym programem, często do IDE dołączonym).