Od jakiegos czasu zastanawia mnie dlaczego niektore programy uzywaja biblioteki np ncurses a nie maja jej w plikach naglowkowych #include ? jeden program zrozumialem jak to robi ale np ciekawi nie ta gra -> https://github.com/harningt/nethack/tree/master/src, i tutaj w tych plikach zrodlowych nie znalazlem naglowka "#include<ncurses.h>" pytalem troche na czacie gry ale nie dostalem odpowiedzi ktora by mi to wyjasnila.
Gra uzywa biblioteki ncurses a nie ma jej w plikach nalgowkowych.Jak to dziala ?
A jesteś pewien że nie includują tego w tych swoich nagłówkach gdzieś? ;]
Hmmm tak, przeszukalem zrodla, nawet jak wpisalem ncurses.h w tym repozytorium to nic nie znalazlo, zobacz
https://github.com/harningt/nethack/search?utf8=%E2%9C%93&q=ncurses.h
A wiec w jaki sposob to dziala ?
Zamiast szukać ncurses.h
to wyszukuj curses
a znajdziesz odpowiedź.
@un3x.r przykro mi ale nie da się programować lodówką, mikrofalówką i grepem. Ściągnij NORMALNE narzędzia do programowania i nie będzie problemu. Bo to co teraz robisz to jest jakis WTF i zastanawiam się czy nie dać ci bana za trolling, bo trudno mi uwierzyć że ktoś takie cuda na kiju robi na poważnie...
@twonek no znalazlem tam #include<curses.h> ale co z tego ? nie mam tego pliku nawet w /usr/include, ten plik naglowkowy mam tylko z pakietu pdcurses nie ncurses, nie rozumiem dalej o co chodzi.
@un3x.r widzę że lodówka nadal w cenie u ciebie :D Każde normalne IDE pozwoliłoby ci skoczyć w miejsce gdzie jest dany nagłówek i nie musiałyś go nigdzie szukać. Tak samo pozwoliłoby ci sprawdzić w jakim nagłówku deklarowane są takie czy inne typy i funkcje. Więc twoje pytania nie miałyby sensu. Ale niestety mikrofalówka oraz grep nie bardzo sobie z takimi rzeczami póki co dają radę...
Ciekawi mnie skąd pomysł że ta aplikacja w ogóle używa ncurses skoro nigdzie tego nie widać. Grep czy piekarnik ci tak powiedziały tym razem?
pliki zrodlowe mi to powiedzialy, sa opcje '-lncurses' w /util/Makefile albo config.h czy w ktoryms juz nie pamietam.Oh, tzn oprocz grepa uzylem tez funkcji pkgfile i find zeby to ogarnac, przepraszam wczesniej po prostu nie zauwazylem ze mam tez tez curses.h w /usr/include dostarczane przez pakiet ncurses, moja pomylka, male przeoczenie a nie braki w ide ;) Ale co z tego ze gra includuje curses.h ? curses.h includuje ncurses ? zauwazylem tam jakies linijki define o NCURSES_DLL ale #include<ncurses.h> tam nie bylo, takze jak gra includuje biblioteke ncurses przez curses.h ?
@un3x.r ciekawe masz, koleś, podejście do programowania. Ciekawe. Chociaż chyba niechciałbym mieć z nim wiele wspólnego.
Nie wiem o co ci chodzi, po prostu probuje sie dowiedziec czegos co mnie interesuje, nie wiem gdzie to znalezc to pytam na forum...
To dobrze. Ale gorzej, że odpowiedź na Twoje pytanie to 2 sekundy klikania w IDE. I o tym mówię właśnie. Utrudniasz sobie życie, nic więcej.
Dobrze, w takim razie zrobimy tak, jestem bardzo ciekawy jak twoje ide odpowie mi na pytanie, sprawdz w ide i mi na nie odpowiedz to bd wiedzial ze masz racje, no kliknij w tym IDE i mi odpowiedz prosze
Zaraz dostaniesz pan screeny, dobre?
un3x.r napisał(a):
ale #include<ncurses.h> tam nie bylo, takze jak gra includuje biblioteke ncurses przez curses.h ?
A kto powiedział, że biblioteka ncurses
musi mieć plik nagłówkowy ncurses.h
? Nagłówek, jakiego potrzebujesz to curses.h
.
Jak mi powiesz jakie funkcje z tej biblioteki są użyte w tym projekcie to mogę ci również pokazać, że można je zlokalizować w kilka klików. Serio, daj spokój z programowaniem w vi.
w jakim vi ? ja programuje w emacsu, zreszta wszystko tam robie, mam go do wszystkiego, i nie mam zamiaru zmieniac na pewno, bo emacs for life jesli chodzi o moj gust i jak juz wspomnialem - ja nie klikam, robie to tylko w ekstremalnych wypadkach jak jakas strona internetowa tego wymaga jak korzystam z graficznej przegladarki. Ja musze po prostu nauczyc sie wyszukiwac sprawniej
Brzmi to jak Socjalizm bohatersko walczy z problemami nieznanymi w żadnym innym ustroju.
:D :D
@pingwindyktator - i dobrze, wytlumacz mi teraz gdzie ten screen odpowiada chociaz na jedno pytanie ktore zadalem ? Powiedziales ze on potrafi odpowiedziec na co zapytalem podczas na nic z moich pytan nie odpowiedzialo twoje IDE, co tu jest pokazane ? Jakie pliki includuja biblioteke curses.h ? Co jeszcze, jakie lokalizowac funkcje w projekcie ? w kilka klikow ? ja moge to zrobic jedna komenda w moim IDE. Nie odpowiedziales na moje pytanie, moje pytanie brzmi: Jaki jest cel tego ze jesli projekt inkluduje biblioteke ncurses.h to zamisat w naglowku miec "#include<ncurses.h> to ma "<#include<curses.h>" ,przeciez ja o to sie pytam prawda ? A twoj screen chyba na to nie odpowiada pingwin.
un3x.r napisał(a):
Jaki jest cel tego ze jesli projekt inkluduje biblioteke ncurses.h to zamisat w naglowku miec "#include<ncurses.h> to ma "<#include<curses.h>" ,przeciez ja o to sie pytam prawda ?
Przeczytaj jeszcze raz to:
twonek napisał(a):
A kto powiedział, że biblioteka
ncurses
musi mieć plik nagłówkowyncurses.h
? Nagłówek, jakiego potrzebujesz tocurses.h
.
Jak nadal nie widzisz odpowiedzi na swoje pytanie, to jeszcze raz. Tak do skutku.
un3x.r napisał(a):
pliki zrodlowe mi to powiedzialy, sa opcje '-lncurses' w /util/Makefile albo config.h czy w ktoryms juz nie pamietam.Oh, tzn oprocz grepa uzylem tez funkcji pkgfile i find zeby to ogarnac, przepraszam wczesniej po prostu nie zauwazylem ze mam tez tez curses.h w /usr/include dostarczane przez pakiet ncurses, moja pomylka, male przeoczenie a nie braki w ide ;) Ale co z tego ze gra includuje curses.h ? curses.h includuje ncurses ? zauwazylem tam jakies linijki define o NCURSES_DLL ale #include<ncurses.h> tam nie bylo, takze jak gra includuje biblioteke ncurses przez curses.h ?
juz w tym poscie na poprzedniej stronie mowie wszem i wobec ze znalazlem plik naglowkowy i w jego temacie juz wszystko wiem, a to bylo pare postow przed tym jak zaproponowales zdjecie od siebie, takze nie wiem dalczego mowisz ze pytalem cie o plik naglowkowy, o to o co pytam jest 2-3 posty wyzej gdzie rozmawiam z twonkiem w komentarzach, odsylam tam.
Moje IDE ma odpowiedzieć na pytanie, dlaczego biblioteka ncourses
ma plik nagłowkowy courses.h
? ; D No nie wiem, bo autorzy mieli takie widzimisie najpewniej. Problem rozwiązany? Liczę na zieloną okejke obok posta oczywiście.
Czyli wtedy program uzywa tylko czesci biblioteki ncurses tak naprawde ?
Ja nie wiem skąd ty wyciągasz te swoje wnioski, bo co jeden to lepszy :D Przypuszczam że mało który program używa WSZYSTKICH elementów jakiejś biblioteki. Zawsze jest to tylko jakaś część.
A czemu ncourses może mieć nagłówek courses.h? Może po to żeby można było przekompilować stare programy pisane pod courses z użyciem ncourses? A może programiście zjadło literkę? A może hackowali go emacsem przez grepa? ;]
Jezusie. Nie wiem, nie znam tej biblioteki. Ale zrozum, że nazwa biblioteki nie musi być taka sama jak nazwa pliku nagłówkowego. Powiem więcej - spotkałem się z sytuacją, gdzie biblioteka ma dwa pliki nagłówkowe. Identyczne. Jeden includuje tego drugiego i już. Dlaczego? Widzimisie autorów. Nic więcej.
Już wszystko jasne? Nawet grepnąłem dla ciebie.
un3x.r napisał(a):
Czyli wtedy program uzywa tylko czesci biblioteki ncurses tak naprawde ?
Czyżby klasyczny przypadek dysgoogli? Mam nadzieję, że nie jest to zarazliwe...
Jakbyś sprawdził w takiej np Wikipedii, wiedziałbyś, że ncurses to kontynuacja biblioteki curses - jak sama nazwa wskazuje.
Wiem o tym kaczus, a wiec moje pytanie jest jak najbardziej na miejscu, ncurses to kontynuacja czyli jakies rozszerzenie biblioteki curses, a wiec jesli includuje curses.h tylko wiec korzystam tylko z tej "podstawy" i nie uzywam rozszerzenia ?
koleś, te pliki w bibliotece libncurses5
są identyczne! Chcesz to sobie daj tam ncourses.h
zamiast courses.h
.
Tak wiem ze sa identyczne zobaczylem to wyzej, a wiec tylko dla jaj sa tam dwie nazwy ?
btw.skad wniosek ze uzywam czegos debianopodobnego zeby miec pakiet libncurses5 ? ;>
Może po prostu namierz autorów i zadaj im to pytanie? Wtedy otrzymasz jedynie słuszną odpowiedź.
Moze i tak zrobie, pytanie z mailem, to jest wyjscie ! dzieki wszystkim za odpowiedzi : )
->> https://bpaste.net/show/0343f2960fdd <<-
A pomoglby mi ktos skompilowac to tak zeby dzialalo pod windowsem?
Zrobilem to mingwem w prawidlowy sposob, program sie skompilowal i wszystko ale wywala program po wyborze koloru, jak chcecie to skomilujcie sobie go natywnie na windowsie albo mingwem jak wolicie i sprawdzcie czy wam dziala, jak nie to dlaczego ? Skompilowal sie, uruchamia ale po wyborze koloru wysypuje, wiecie gdzie tu jest blad ?