Strona 1 z 1
Hello world w C++ nie wyświetla się
: 19 lis 2008, 21:06
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
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
Odp: Hello world w C++ nie wyświetla się
: 19 lis 2008, 21:46
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:
Odp: Hello world w C++ nie wyświetla się
: 19 lis 2008, 21:52
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

Odp: Hello world w C++ nie wyświetla się
: 19 lis 2008, 22:09
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ć
lub
. jeżeli katalog /home/kowalski był by dodany do zmiennej PATH to wystarczyło by zwykłe
Odp: Hello world w C++ nie wyświetla się
: 20 lis 2008, 08:34
autor: mikolajs
Czyli bieżący katalog nie jest dodany do zmiennej PATH, tak jak jest to zrobione standardowo w Windows.
Odp: Hello world w C++ nie wyświetla się
: 20 lis 2008, 08:40
autor: dawidgarus
chmod a+r plik
a od kiedy 'r' oznaczy wykonywanie?
Odp: Hello world w C++ nie wyświetla się
: 20 lis 2008, 14:15
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
Odp: Hello world w C++ nie wyświetla się
: 20 lis 2008, 18:25
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

Odp: Hello world w C++ nie wyświetla się
: 21 lis 2008, 07:27
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;
Odp: Hello world w C++ nie wyświetla się
: 21 lis 2008, 15:40
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?
Odp: Hello world w C++ nie wyświetla się
: 21 lis 2008, 15:43
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...
Odp: Hello world w C++ nie wyświetla się
: 21 lis 2008, 21:45
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)
Odp: Hello world w C++ nie wyświetla się
: 21 lis 2008, 21:58
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ę

Odp: Hello world w C++ nie wyświetla się
: 21 lis 2008, 22:49
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
Odp: Hello world w C++ nie wyświetla się
: 22 lis 2008, 09:02
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.
Odp: Hello world w C++ nie wyświetla się
: 22 lis 2008, 20:18
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!