Jump to content

Archived

This topic is now archived and is closed to further replies.

Slynx

[C++] Standard Library i WinAPI

Recommended Posts

Dopiero zaczynam z C++, ale zacząć najgorzej. Pascala opanowałem na perfect, ale tam był wygodny system pomocy, tj. index. Szukam czegoś takiego w C++, jakiś opis poleceń. Krótko i na temat, tak to było w pomocy w Turbo Pascalu. Samą składnie znam, itp. Teraz tylko wszystkie "poważniejsze" polecenia... Ktoś może pomóc ?

Link to comment
Share on other sites

- http://social.msdn.microsoft.com/Search/en-US/ - Obszerna dokumentacja wszystkiego co może być przydatne przy programowaniu na Windowsie, w tym samego języka C++ i jego biblioteki standardowej. Jeśli korzystasz z Visual C++ - nie musisz dalej szukać. Jeśli z czegokolwiek innego - też godne polecenia, ale musisz uważać, czy coś nie jest charakterystyczne tylko dla Microsoftowego kompilatora. Zwykle jednak jest to wyraźnie w tekście zaznaczone, więc nie powinno być żadnych problemów. Przy korzystaniu z tej strony warto uważać, czy artykuł jest o C++. Jeśli wpiszesz np. "continue" na pierwszym miejscu wyskoczy Ci artykuł continue (C# Reference) , który jak widać niespecjalnie jest tym interesującym. Za to jak wpiszesz "continue C++" na pierwszym miejscu wyjdzie już to co trzeba, czyli The continue Statement (C++) .

- http://www.cplusplus.com/ - oficjalna strona języka C++. Trzeba więcej mówić? Największą IMO zaletą jest bardzo klarowna organizacja witryny, nie będzie problemów ze znalezieniem czegokolwiek. Szczególnie przydatne we wszystkich problemach związanych z biblioteką standardową (wejście/wyjście, stringi, kontenery)

- Jakaś dokumentacja Twojego kompilatora. Jeśli to nie Visual, to prawie na pewno jakaś mutacja GCC, czyli warto zajrzeć tu: http://gcc.gnu.org/onlinedocs/ . Nigdy z tego nie korzystałem, bo poprzednie dwie strony i kilka książek zdecydowanie mi wystarczają

- Warto też poprzeglądać wpisy o C++ z tego blogu: http://xion.org.pl/ . Facet pisze bardzo ciekawie, opisuje wiele szczególików, które mogą się przydać w najbardziej niespodziewanych momentach. Poza tym, po prawej stronie jest link do megatutoriala, podręcznika do Cplusplusa z którego wiele osób się uczyło i efekty są niezłe.

Powodzenia :)

Link to comment
Share on other sites

To jest Visual c++, tylko ten system pomocy, ten index jest dobijający, szczerze to nie potrafię z niego korzystać, zrozumieć go. Język programowania zawsze składa się z 2 rzeczy. Składnia i wszystkie pozostałe polecenia. Składnie opanowałem, teraz tylko polecenia, Krótkie , zrozumiałe definicje. Tak jak to było w książkach sprzed lat (Nigdy nie zapomnę "książeczki" do Clippera, profesjonalnie napisana, łatwa do zrozumienia). I nie mam tu takich podstawowych poleceń tak jak mówiłem. Ale np. odczyt i zapis do pamięci operacje na procesach systemowych. To są biblioteki standardowe (chyba), ale polecenia tak jakby "dla bardziej wtajemniczonych";p Najkrócej mówiąc. Porządny index.

Link to comment
Share on other sites

Niezbyt Cię rozumiem ;) Co rozumiesz pod hasłem polecenia? Mówisz o słowach kluczowych (dla przykładu friend, struct, class etc)? A może chodzi Ci o polecenia, w sensie np. wczytywanie danych z klawiatury (cin, cout)? Zresztą, czego byś nie szukał to na stronie Microsoftu wszystko znajdziesz.

Może ktoś inny Ci coś podpowie, ale jeśli byś chciał żebym ja jeszcze coś dopowiedział to podaj jakieś przykładowe polecenia Pascala, których to opisów odpowiedników potrzebujesz w C++, to będę Ci mógł więcej pomóc :)

Link to comment
Share on other sites

Zaczynasz mówić konkretnie;p

Więc tak. Nie mam na myśli podstaw tylko count i cin. Ale np są odpowiedniki takich poleceń z Delphi jak GetWindowThreadProcessId czy ReadProcessMemory. To do podstaw nie należy. I teraz jak znaleźć takie polecenia w tym, a raczej ich odpowiedniki i jak z nich korzystać. Oczywiście pomijam każdorazowe wpisywanie do google bo to nie wchodzi w grę. Trochę tu kręcę i plącze temat, ale ciężko mi to tak jednoznacznie wyrazić. Można też powiedzieć inaczej.Do każdej z tych standardowych bibliotek c++ powinienm być osobny help, tj. index. To by wyszło na to samo. Często w bibliotekach każda procedura czy funkcja jest obszernie skomentowana, jak jej używać...

Link to comment
Share on other sites

O stary, to w ogóle inna bajka ;) Chodzi Ci o funkcje systemowe. Biblioteka standardowa C++ to TYLKO (albo i aż) kontenery, stringi, wejście/wyjście konsolowe, strumienie plikowe, math.h no i jeszcze kilka do obsługi pamięci. A co do Twojego pytania:

odpowiednik GetWindowThreadProcessId z Delphi w C++ nazywa się GetWindowThreadProcessId i przyjmuje takie same argumenty.

Odpowiednik ReadProcessMemory nazywa się ReadProcessMemory i też przyjmuje te same argumenty :D

Magia? :) To jest tak, że wszystkie takie "niepodstawowe" funkcje pochodzą już z zewnętrznych bibliotek, więc duża cześć takich niskopoziomowych funkcji w Delphi jest analogiczna do tych z C++. W tym momencie mówimy tu o WinAPI, czyli stworzonej przez Microsoft bibliotece pozwalającej korzystać z tego co Windows oferuje. Jest ich zatrzęsienie, ale chyba Cię zmartwię, bo jak mantrę powtórzę swoje stałe MSDN :) Tyle, że wpisujesz nazwę funkcji, lub coś co chciałbyś żeby ta funkcja robiła, w liście filtrów zaznaczasz WIN32&COM i szukasz wśród wyników. Możesz też poprzeglądać różne tematy z tej strony: http://msdn.microsoft.com/en-us/library/aa139672.aspx, jeśli w miarę wiesz czego szukasz to możesz tutaj znaleźć potrzebne Ci funkcje.

Bardzo Ci jeszcze polecam przeczytanie rozdziału 4 polecanego juz przeze mnie megatutorialu Xiona: http://xion.org.pl/productions/texts/coding/megatutorial/ . Wprowadza właśnie do używania WinAPI w C++, po lekturze będziesz znał podstawy i wiedział jak zacząć, jak korzystać itp. Wyszukiwanie czegokolwiek będzie o wiele łatwiejsze.

Podpowiem też, że jeśli w Delphi jako argumentu jakiejkolwiek funkcji używałeś pola Handle to na pewno w WinAPI i w C++ jest ona taka sama. A jeśli nie, to i tak warto profilaktycznie w MSDNie sprawdzić czy to nie jest ta sama.

Link to comment
Share on other sites

W skład STLa wchodzą strumienie? Według http://www.cplusplus.com/reference/ do którego zresztą sam się odwołujesz, biblioteka standardowa składa się z

-C Library

-C++ Standard Library: Standard Template Library (STL)

ORAZ

-C++ Standard Library: Miscellaneous libraries

-C++ Standard Library: Input/Output Stream Library

Wydaje mi się, że troszkę za dużo wepchnąłeś do worka z napisem STL. Zresztą, jak sama nazwa wskazuje, powinny do niej należeć szablony. Nie wgłębiałem się nigdy szczególnie w kod źródłowy iostream czy exception, ale specjalnie wiele szablonów tam nie znalazłem.

Link to comment
Share on other sites

Strumienie akurat są zrobione na szablonach. Nigdy tego nie prześledziłem, ale przykładowo klasa ostream:

template<class _Elem,
    class _Traits>
    class basic_ostream
        : virtual public basic_ios<_Elem, _Traits>

Z misców też sporo rzeczy jest zrobiona na template'ach, choćby auto_ptr.

Niemniej jednak masz rację. Strumienie, stringi i misci (jako całość) nie wchodzą w skład stla. Poszukałem i wyszło mi, że zalicza się: kontenery, algorytmy, iteratory, obiekt funkcyjny, memory i utility.

Link to comment
Share on other sites

No i znowu muszę powiedzieć... Alton... dzięki;p

A ty Moremegil się nie kłuć, bo Alton i tak ma rację;p

Nie no Joke, dzięki za pomoc. Jeszcze z tym pokombinuje, jak będę miał jakieś pytanie to dopisze tutaj, o ile mi tematu nie zamkną;p

Link to comment
Share on other sites



  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...