Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: mala siec  (Przeczytany 3856 razy)

ziro1

  • Gość
mala siec
« dnia: 2005-12-23, 10:53:32 »
Mam pytanie, napisalem sobie prosty programik w C++ i chcialem go skapilowac:

gdy wpisalem gcc plik.c pojawia sie:
---------------------------------------------------------------------------
plik.c:1:22: iostream.h: Nie ma takiego pliku ania katalogu
prik.c: In function \\'main\\':
itd.
---------------------------------------------------------------------------
a gdy pisze g++ plik.c pojawia sie :
---------------------------------------------------------------------------
In file included from /usr/include/c++/3.3.6/backward/iostream.h:31, from plik.c:1:
/usr/include/c++/3.3.6/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of  the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the header for the header for C++ include , or instead of the deprected header . To disable this warning use

  • Gość
mala siec
« Odpowiedź #1 dnia: 2005-12-23, 11:39:04 »
nie #include
tylko #include

maciasz

  • Gość
mala siec
« Odpowiedź #2 dnia: 2005-12-23, 12:28:42 »
2005-12-23 11:39:04 yonami napisał:

> nie #include
 > tylko #include

obydwie sa poprawne tylko pierwsza jest uwazana za przestarzala i jak juz to nazwa pliku plik.cc lub plik.cpp

devilan

  • Gość
mala siec
« Odpowiedź #3 dnia: 2005-12-23, 12:58:31 »
2005-12-23 11:39:04 yonami napisał:

> nie #include
 > tylko #include

Rozwinę wypowiedź kolegi:

Zgodnie ze standardem nagłówki w formacie *.h są przestarzałe. Teraz stosuje się nazwy bez kropki i h na końcu.

Komunikat który dostałeś to ostrzeżenie, że używasz starej konwencji - nie musisz się nim przejmować.

Możesz użyć nowego nagłówka:
#include

Ale musisz pamiętać, że zgodnie z zaleceniami standardu pracuje on w przestrzeni nazw std, czyli zamiast pisać:
cout << \\"dupa\\";
Musisz pisac:
std::cout << \\"dupa\\";

Jest to troche niewygodne więc ogólnie używa się jeszcze takiego czegoś (dyrektywa, czy jak?):
using namespace std;
Co oznacza, że jeśli kompilator nie znajdzie czegoś w standardowej przestrzeni nazw to poszuka w przestrzeni nazw std - tak więc to załatwia Twój problem...

Jeśli upierasz się jednak przy starym nazewnictwie, to w czasie kompilacji stosuj taki zapis:
g++ -Wno-deprecated -o plik_wyjsciowy plik_z_programem.cpp

Nie pojawi się komunikat o błędzie, a program wynikowy będzie zapisany pod nazwą \\"plik_wyjsciowy\\"

Z mojej strony zachęcam do używania nowej konwencji, czyli w pliku z programem piszesz:

using namespace std;
#include

int main(int argc, char *argv[])
{
 //treść kodu :)
}

  • Gość
mala siec
« Odpowiedź #4 dnia: 2005-12-23, 20:35:30 »
Poprawiam kolegę :D
############################
#include

using namespace std;
 
int main(int argc, char *argv[])
{
 //treść kodu :)
}
############################
przynajmniej tak mi sie wydaje, że namespace std musi wcześniej istnieć :| więc zamieniłem kolejnością z include

ziro1

  • Gość
mala siec
« Odpowiedź #5 dnia: 2005-12-23, 21:15:19 »
Dzieki za objasnienie, teraz spokojnie moge pisac, wszystko jest ok >thanks all<

d3ivo

  • Gość
mala siec
« Odpowiedź #6 dnia: 2005-12-23, 03:33:28 »
Witam

Mam takowyz problem polegajacy na tym iz po starcie komputera dla ktorego udostepniam internet (red hat) nie dziala na nim internet. Błąd polega na tym ze system czyta z mojego serwera DNS i w miejscu DNS wpisany jest mój ip w sieci czyli 192.168.0.1 ale gdy zmienie DNS na dns tpsa to internet smiga. Na serwerze posiadam linuxa PLD a ip przepisyje dhcpd. Musze wiec aby dzialal internet na uzytkowym komputerze wpisac DNS tpsa. Lecz przez to nie chce dzialac dla mnie samba (wyskakuje komunikat o bledzie polaczenia z serwerem samby) gdy wpisze w miejsce DNS swoje ip serwer (192.168.0.1) to samba dziala a nie dziala internet. Gdy na serwerze uruchomie windowsa xp. To mimo ze w komputerze uzytkowym wpisane dns jest 192.168.0.1 to dziala internet i jednoczesnie udestepnione sa moje pliki. W czym tkwi problem ??

mark_kiddy

  • Gość
mala siec
« Odpowiedź #7 dnia: 2005-12-23, 12:07:36 »
na serwerze plik dhcpd.conf w /etc czy gdzie go tam masz - linijka : option domain-name-servers twoj_dns_ip, 194.204.159.1, 194.204.152.34;

(adresy ip oddzielone przecinkami - linijka zakonczona srednikiem)

zatrzymaj dhcpd i potem go uruchom
potem odswiez ip na kompie klienta albo go zrestartuj moze bedzie ok