Uzywanie biblioteki, bez dodawania jej w naglowkach

Uzywanie biblioteki, bez dodawania jej w naglowkach
UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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 ?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

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

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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 ?

twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
1

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

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
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...

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
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?

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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 ?

pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
1

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

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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...

pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
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.

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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

pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
0

Zaraz dostaniesz pan screeny, dobre?

twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
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.

pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
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.

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
2

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

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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.

twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
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

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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.

pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
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.

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
1

Czyli wtedy program uzywa tylko czesci biblioteki ncurses tak naprawde ?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
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? ;]

pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
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.

kaczus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 1405
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.

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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 ?

pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
0

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

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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 ? ;>

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

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

UR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
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 ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.