Uzywanie biblioteki, bez dodawania jej w naglowkach

0

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 ?

0

A jesteś pewien że nie includują tego w tych swoich nagłówkach gdzieś? ;]

0

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 ?

1

Zamiast szukać ncurses.h to wyszukuj curses a znajdziesz odpowiedź.

0

@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...

0

@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.

1

@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?

1

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 ?

1

@un3x.r ciekawe masz, koleś, podejście do programowania. Ciekawe. Chociaż chyba niechciałbym mieć z nim wiele wspólnego.

0

Nie wiem o co ci chodzi, po prostu probuje sie dowiedziec czegos co mnie interesuje, nie wiem gdzie to znalezc to pytam na forum...

0

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.

0

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

0

Zaraz dostaniesz pan screeny, dobre?

0
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.

0

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.

0

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

2

Brzmi to jak Socjalizm bohatersko walczy z problemami nieznanymi w żadnym innym ustroju. :D :D

0

@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.

2
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łówkowy ncurses.h? Nagłówek, jakiego potrzebujesz to curses.h.

Jak nadal nie widzisz odpowiedzi na swoje pytanie, to jeszcze raz. Tak do skutku.

0c56d2848c.png

0

@pingwindyktator

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.

0

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.

1

Czyli wtedy program uzywa tylko czesci biblioteki ncurses tak naprawde ?

1

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? ;]

0

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.

0
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.

0

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 ?

0

koleś, te pliki w bibliotece libncurses5 są identyczne! Chcesz to sobie daj tam ncourses.h zamiast courses.h.

0

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 ? ;>

0

Może po prostu namierz autorów i zadaj im to pytanie? Wtedy otrzymasz jedynie słuszną odpowiedź.

0

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 ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1