Hello world w C++ nie wyświetla się

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
lyrix
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 03 lip 2008, 15:11
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Hello world w C++ nie wyświetla się

Post autor: lyrix »

Witam Szanownych Forumowiczów,

pomyślałem, że dobrze jeśli umieszczę ten wątek zamiast w przedszkolu tutaj, z uwagi na jego lekkie zaawansowanie :).

Zainstalowałem sobie build-essentials, w którym był g++. Napisany kod wygląda tak:

Kod: Zaznacz cały

#include <iostream>

using namespace std;

int main (int argc, char *argv[])
{
        cout << "Hello World!" << endl;
        return 0;
}
Kompiluję poleceniem

Kod: Zaznacz cały

g++ -Wall plik.cpp -o plik
Nadaję mu też prawa wykonania chmod a+r plik

I problem zaczyna się, gdy klikam na programik, i nic mi nie wyskakuje. Jeśli program uruchamia się w tle, to jak zobaczyć efekt jego działania na ekranie?

Z góry dziękuję za wskazówki lub rozwiązanie i przepraszam, jeśli rozwiązanie już gdzieś wisi na forum (nie znalazłem jednak żadnego podobnego problemu).

pozdrawiam
vtr
Sędziwy Jeż
Sędziwy Jeż
Posty: 36
Rejestracja: 02 lip 2008, 13:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: Hello world w C++ nie wyświetla się

Post autor: vtr »

lyrix pisze:
I problem zaczyna się, gdy klikam na programik, i nic mi nie wyskakuje.

pozdrawiam
powinieneś wejść w konsoli do katalogu gdzie znajduje się skompilowany plik w twoim przypadku jest to "plik" i wydać polecenie:

Kod: Zaznacz cały

./plik
lyrix
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 03 lip 2008, 15:11
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Hello world w C++ nie wyświetla się

Post autor: lyrix »

No tak. zamiast ./plik wpisywałem po prostu plik, a bash mi to traktował jako odwołanie do jakiegoś jego polecenia. Wnioskuję, że wszystkie "programy tekstowe" trzeba tak uruchamiać. Dzięki ;)
vtr
Sędziwy Jeż
Sędziwy Jeż
Posty: 36
Rejestracja: 02 lip 2008, 13:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: Hello world w C++ nie wyświetla się

Post autor: vtr »

to nie tak, te jak to nazwałeś polecenia bash-a to też programy tyle że znajdujące się w katalogu wpisanym do zmiennej PATH, ponieważ katalog w którym znajduje się twój program nie jest dodany do tej zmiennej musisz podać do niego pełną ścieżkę, kropka oznacza katalog bieżący a później masz / i nazwa programu czyli jeśli znajdujesz się w katalogu /home/kowalski i chcesz uruchomić program "prog" to możesz wpisać

Kod: Zaznacz cały

/home/kowalski/prog
lub

Kod: Zaznacz cały

./prog
. jeżeli katalog /home/kowalski był by dodany do zmiennej PATH to wystarczyło by zwykłe

Kod: Zaznacz cały

prog
mikolajs
Wytworny Kaczor
Wytworny Kaczor
Posty: 352
Rejestracja: 15 paź 2008, 18:30
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: Hello world w C++ nie wyświetla się

Post autor: mikolajs »

Czyli bieżący katalog nie jest dodany do zmiennej PATH, tak jak jest to zrobione standardowo w Windows.
dawidgarus
Wytworny Kaczor
Wytworny Kaczor
Posty: 418
Rejestracja: 09 lut 2007, 23:17
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Hello world w C++ nie wyświetla się

Post autor: dawidgarus »

chmod a+r plik
a od kiedy 'r' oznaczy wykonywanie?
vtr
Sędziwy Jeż
Sędziwy Jeż
Posty: 36
Rejestracja: 02 lip 2008, 13:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: Hello world w C++ nie wyświetla się

Post autor: vtr »

mikolajs pisze:Czyli bieżący katalog nie jest dodany do zmiennej PATH, tak jak jest to zrobione standardowo w Windows.
nie jest ale jeżeli chcesz żeby był to wystarczy dodać do zmiennej "./" i już będzie
lyrix
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 03 lip 2008, 15:11
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Hello world w C++ nie wyświetla się

Post autor: lyrix »

dawidgarus pisze:a od kiedy 'r' oznaczy wykonywanie?
oczywiście a+x miałem na myśli, myśląc co innego napisałem co innego ;)
grymek3
Sędziwy Jeż
Sędziwy Jeż
Posty: 49
Rejestracja: 04 kwie 2007, 22:20
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: KDE Plasma
Kontakt:

Odp: Hello world w C++ nie wyświetla się

Post autor: grymek3 »

#include <iostream>

using namespace std;

int main (int argc, char *argv[])
{
cout << "Hello World!" << endl;
getchar();
return 0;
}
zobacz ten kod, jak nie działa albo nie chce się skompilować to daj zamiast getchar()
char i;
cin>>i;
lyrix
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 03 lip 2008, 15:11
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Hello world w C++ nie wyświetla się

Post autor: lyrix »

Bash wyświetla mi komunikat:
undefined reference to `main'
polecenie getchar() kompilator widocznie akceptuje.

Mam jeszcze pytanie odnośnie plików nagłówkowych. W Symfonii C++ w przykładach używany jest plik conio.h. Mam pytanie, czy jest to jakiś standardowy plik C/C++? W libstdc++ go nie ma, a czy jest jeszcze jakaś powszechnie używana i może bardzieju rozbudowana biblioteka dla C++ niż libstdc++ (The standard C++ library)? Mam też pytanie, czy np. pakiety Eclipse czy NetBeans zawierają jakieś dodatkowe biblioteki?
Awatar użytkownika
Szmitas
Zakręcona Traszka
Zakręcona Traszka
Posty: 572
Rejestracja: 28 lis 2006, 17:38
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Unity
Architektura: x86
Lokalizacja: Luboń
Kontakt:

Odp: Hello world w C++ nie wyświetla się

Post autor: Szmitas »

Kod: Zaznacz cały

#include<iostream>

using namespace std;

int main()
{
cout<<"Hello world";
}
Użyj tego kodu. Getchar() jest niepotrzebny, bo terminal sam się nie zamknie...
www.ubuntu-pomoc.org - tutaj znajdziesz rozwiązanie każdego Twojego problemu.

Chcesz zostać Redaktorem ubuntu-pomoc.org? Skontaktuj się ze mną!
vtr
Sędziwy Jeż
Sędziwy Jeż
Posty: 36
Rejestracja: 02 lip 2008, 13:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: Hello world w C++ nie wyświetla się

Post autor: vtr »

lyrix pisze:
Mam jeszcze pytanie odnośnie plików nagłówkowych. W Symfonii C++ w przykładach używany jest plik conio.h. Mam pytanie, czy jest to jakiś standardowy plik C/C++?
pliku tego pod linuksem nie ma ale jeżeli z niego korzystasz to spokojnie znajdziesz zamienniki funkcji itp, odsyłam do google i tego forum
lyrix pisze: a czy jest jeszcze jakaś powszechnie używana i może bardzieju rozbudowana biblioteka dla C++ niż libstdc++ (The standard C++ library)?
a o jaką konkretnie bibliotekę Ci chodzi, do czego ona ma być?(swoją drogą wnioskuję że jesteś początkującym programistą więc standardowa biblioteka na początek w zupełności wystarczy)
lyrix
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 03 lip 2008, 15:11
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Hello world w C++ nie wyświetla się

Post autor: lyrix »

a o jaką konkretnie bibliotekę Ci chodzi, do czego ona ma być?(swoją drogą wnioskuję że jesteś początkującym programistą więc standardowa biblioteka na początek w zupełności wystarczy)
Chodziło mi o jakąś inną popularną bibliotekę standardową (do typowych algorytmów "konkursowych" tzn. zebym przy próbie pisania jakiegoś programu na Potyczki Algorytmiczne nie odczuł braku jakichś funkcji itp.), może bardziej rozbudowaną. W sumie to zaczynam swoją przygodę z C++, a więc gdy będę potrzebował więcej to chyba łatwo znajdę :)
vtr
Sędziwy Jeż
Sędziwy Jeż
Posty: 36
Rejestracja: 02 lip 2008, 13:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: Hello world w C++ nie wyświetla się

Post autor: vtr »

jeżeli chodzi o algorytmy to jeszcze trochę drogi przed tobą, ale jeśli bardzo chcesz już zacząć to zainteresuj się STL-em z biblioteki standardowej(który tak naprawdę zrozumiesz dopiero po porządnej lekturze języka) poza tym wydaje mi się że w tego typu konkursach nie można korzystać z gotowych algorytmów tylko trzeba je napisać samemu ale nie jestem tego pewien
Awatar użytkownika
Althorion
Przyjaciel
Przyjaciel
Posty: 191
Rejestracja: 15 lis 2007, 14:16
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Odp: Hello world w C++ nie wyświetla się

Post autor: Althorion »

W większości mi znanych można korzystać z STLa i biblioteki matematycznej.

Z tym, że zwykle warto napisać algorytm samemu, pod konkretne zastosowanie. Będzie działać szybciej niż uniwersalny bibliotekowy.
mikolajs
Wytworny Kaczor
Wytworny Kaczor
Posty: 352
Rejestracja: 15 paź 2008, 18:30
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: Hello world w C++ nie wyświetla się

Post autor: mikolajs »

Chodziło mi o jakąś inną popularną bibliotekę standardową (do typowych algorytmów "konkursowych" tzn. zebym przy próbie pisania jakiegoś programu na Potyczki Algorytmiczne nie odczuł braku jakichś funkcji itp.), może bardziej rozbudowaną. W sumie to zaczynam swoją przygodę z C++, a więc gdy będę potrzebował więcej to chyba łatwo znajdę
O ile mi wiadomo raczej kompilując na gcc program w c++ nie można nie używać libstdc++, co najwyżej można użyć innej wersji. Ale można oczywiście używać wszelkich innych bibliotek dodatkowo. Ale jak już napisano nie o to chodzi w konkursach aby korzystać z algorytmów tylko żeby je samemu pisać :)
Powodzenia!
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości