• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dalsza nauka, jak grafika?

Object Storage Arubacloud
0 głosów
271 wizyt
pytanie zadane 14 kwietnia 2018 w Rozwój zawodowy, nauka, praca przez LEON1402 Początkujący (290 p.)
W c++ piszę już od dłuższego czasu, znam go dość dobrze, dziedziczenie, klasy itd. znam i stosuje. Z bibliotek graficznych zacząłem od Buildera z kursu MZ, później opanowałem sfml, i tworzyłem w nim w miarę skomplikowane projekty. W większości były to jednak gry. Doszedłem jednak do wniosku, że to nie gry, lecz aplikacje deskopowe, rzeczy bardziej pod system podchodzące chcę robić. Problem pojawił się jednak w dwóch rzeczach:

1. Brakuje mi źródeł wiedzy typowo pod obsługę systemów windows i Linux z aplikacji np. dostęp do schowka, tworzenie aplikacji ze skrótem w menu itp. oraz zaawansowanych kursów c++. Jeśli macie jakieś ko kretne linki to podajcie, jeśli nie to gdzie szukać?

2. Grafik. Nie wiem jakich bibliotek do tego użyć, próbowałem sfml, lecz stworzenie w nim znanego z windows lun Linux gui jest bardzo trudne i zajmuje strasznie dużo kodu. Czego używa się do tworzenia prawdziwych programów typu windowsowy word czy gui codeblocksa na linuksie? Tylko nie piszcie że winapi, gdyż moim podstawowym system em jest Linux.

Przy okazji czy ktoś zna jakiś w miarę dobrze wytłumaczony kurs pisania systemów operacyjnych w c++? Wszystk co znalazłem jest w c, a bardzo lubię ten pierwszy.

1 odpowiedź

0 głosów
odpowiedź 14 kwietnia 2018 przez Patrycjerz Mędrzec (192,320 p.)
wybrane 14 kwietnia 2018 przez LEON1402
 
Najlepsza

Są gotowe biblioteki do tworzenia i zarządzania aplikacjami w konkretnym systemie operacyjnym. Jeśli chodzi o C++, to pod Windowsem możesz używać Windows API oraz MFC (obiektowa wersja WinAPI). W Linuksie natomiast Qt, GTK+ lub wxWidgets, które również działają pod systemem od Microsoftu, gdyż są multiplatformowe.

Te biblioteki powinny sprostać wszystkim twoim oczekiwaniom, czyli dzięki nim stworzysz GUI aplikacji, obsłużysz schowek, czy wyświetlisz notyfikacje.

Najaktualniejsze informacje na temat tych narzędzi znajdziesz u źródła, czyli na stronach internetowych deweloperów. Ewentualnie wpisanie frazy po angielsku w wyszukiwarkę powinno szybko załatwić sprawę (gdy nie rozumiesz dokumentacji lub nie chce ci się jej przeglądać).

PS

tworzenie aplikacji ze skrótem w menu

Takie rzeczy nie zależą od kodu, są od tego specjalne foldery systemowe. 

komentarz 14 kwietnia 2018 przez LEON1402 Początkujący (290 p.)
A wiesz coś o tworzeniu systemów? Jakieś tam przewodniki znalazłem, ale tylko zw c i słabo wytłumaczone, a chodzi mi o c++ (można, Linux jest w nim) i żebym coś zrozumiał (assemblera znam tylko podstawy)
komentarz 14 kwietnia 2018 przez Patrycjerz Mędrzec (192,320 p.)
Nie znam się na tworzeniu systemów, ale jako student informatyki, poznawałem ich strukturę. Na początek właśnie radziłbym zacząć od teorii, czyli schematu działania, potem możesz zająć się implementacją, która powinna sama ci przyjść do głowy po zrozumieniu algorytmów.

System operacyjny można pisać w jakimkolwiek języku, który jest kompilowany do kodu maszynowego. Tutaj wybór między C a C++ to bardziej kwestia gustu (to tylko moja opinia, może jest inaczej).

Oczywiście poznanie asemblera x86 będzie nieuniknione, w celu napisania niskopoziomowych funkcji.
komentarz 14 kwietnia 2018 przez Patrycjerz Mędrzec (192,320 p.)

Poszukaj jakiś książek o budowie OS-ów, jest tego mnóstwo. Ta jest wysoko oceniana.

komentarz 14 kwietnia 2018 przez LEON1402 Początkujący (290 p.)
Mam jeszcze pytanie do qt. Czy bardzo zmienia ona c++? Mogę po prostu w nim pisać i brać potrzebne funkcje z biblioteki, czy bardziej tak jak Builder, wszystko robi się przez qt w jej interfejsie
komentarz 14 kwietnia 2018 przez Patrycjerz Mędrzec (192,320 p.)
Istnieje specjalne środowisko Qt Creator. Zapewne nie jest konieczne, ale bardzo ułatwia pracę.
komentarz 15 kwietnia 2018 przez LEON1402 Początkujący (290 p.)

@Patrycjerz,
 Próbowałem Qt, to nie to czego chcę, biblioteka graficzna według mnie ma tylko pokazywać wyniki tego, co zrobiłem w c++, ma to być tylko zbiór dodatkowych funkcji, a Qt przejmuje kontrole nad tym językiem i zmienia go pod siebie. Czy znasz jakąś inną bibliotekę typowo do aplikacji, która spełni te wymaganie?

komentarz 15 kwietnia 2018 przez Beginer Pasjonat (22,110 p.)
Gdyby Cię interesowała tylko grafika (w tym 3D), to doskonale z językiem C++ współpracuje biblioteką OpenGL.
komentarz 15 kwietnia 2018 przez Patrycjerz Mędrzec (192,320 p.)
Qt to bardziej framework do pisania aplikacji okienkowych, czyli wymusza własny przepływ sterowania i konstrukcję kodu. Oczywiście nie jest to wadą, wręcz przeciwnie, zwalnia cię z tworzenia wielu mechanizmów, których wsparcie jest już dostępne w frameworku.

Wątpię, abyś znalazł coś tak prostego jak SFML. Po prostu musisz się przyzwyczaić do takiego stanu rzeczy.

Podobne pytania

0 głosów
3 odpowiedzi 461 wizyt
0 głosów
2 odpowiedzi 500 wizyt

92,568 zapytań

141,422 odpowiedzi

319,637 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...