@Jonarz: jesli musi byc po polsku, to symfornia c++ grebosza, ktorej osobiscie nie polecam, bo jest juz przestarzala i straszliwie nudna

a po angliesku polecam: c++ primer, The C++ Programming Language 4th edition

do tego prezentacje na ch9.com, a zadania na spoju, mainie, no i oczywiscie niebieskie ksiazeczki z OI
  • Odpowiedz
#programowanie #cpp #sfml

W związku z sesją (a właściwie chwilową od niej przerwą) postanowiłem napisać mini grę. Na razie C++ z SFML, do tego WIP, ale jak skończę i znajdę chwilę czasu to przepiszę na Androida i być może Windows Phone.

Gra będzie polegała na unikaniu potworów przychodzących ze wszystkich stron, które będą podzielone na trzy typy:

-
s.....t - #programowanie #cpp #sfml



W związku z sesją (a właściwie chwilową od nie...

źródło: comment_GgjWfTIyg2z2BA295NygAfa2URTFjJNT.jpg

Pobierz
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#cpp #programowanie

Jak to jest powiedzcie mi:

recvfrom(fd, buffer, 1, 0, cliaddr, &len);


Jeśli hipotetycznie otrzymałem datagram o długości np. 10 bajtów, a ja pobieram sobie w pętli po jednym znaku (sprawdzam czy dany znak to umówiony znak 'stopu'), to cliaddr nadpisuje się za każdym razem. Powiedzcie mi tylko jak to działa? Czy każdy bajt w buforze ma przypisane informacje o EndPoincie z któergo przyszedł, czy cały zakres
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@deekox: rzeczywiście, teraz doczytałem:

This call returns the length of the incoming message or data. If a datagram packet is too long to fit in the supplied buffer, datagram sockets discard excess bytes.


Czyli mój sposób pobierania danych po jednym bajcie jest nie tylko mało wydajny, ale też po prostu nie działa. ;_;
  • Odpowiedz
@Pierwiastek_z_Czech: To nie jest tak, ƶe jest zawsze niepoprawne.

Niepoprawne jest gdy uƶywasz tego w plikach nagłówkowych, zdradziecko zmieniając znaczenie programu uƶytkownika Twojej biblioteki. Równie dobrze byś mógł zostawić otwarty namespace.

Na poziomie funkcji (ew. co najwyƶej plików .cpp) jest to imo dopuszczalne, jeśli upraszcza kod. Np jeśli piszesz przeładowanie
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#cpp

#programowanie

Witam ponownie mirki, nawiązując do poprzedniego mojego posta jestem aktualnie w trakcie nauki z poleconej przez was książki symfonia c++ ale mam jedno pytanie, mianowicie w książce nie jest sugerowane w jakim środowisku kompilować kod, na zajęciach używaliśmy do tego celu dev c++

ale doszedłem do wniosku, że chyba najwyższa pora nauczyć się obsługiwać coś innego i stąd moje pytanie jakie środowisko polecacie? Słyszałem, że visual
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jonarz: kompilator w devie to jest śmiech na sali, potrafi takie kwiatki przepuszczać, że głowa mała. Poza tym nie jest aktualizowany już milion lat. No i brak podstawowych funkcji typu code completion
  • Odpowiedz
@Jonarz: Szybkie, przenośne, potęƶne, konfigurowalne, darmowe.

Szybkie - nie czekasz kilku sekund na przejście do pliku nagłówkowego z deklaracją

przenośne - linux/mac/windows? Wszędzie działa prawie tak
  • Odpowiedz
@chilling: w main w pierwszych dwóch pętlach tworzone są wątki: 4 konsumentów i 8 producentów , (void)&konsument i (void)&producent to wskaźniki na funkcje które te wątki będą wykonywały. w kolejnych dwóch pętlach wywoływana jest funkcja pthreadjoin która czeka aż podany wątek się wykona, czyli w tym momencie główny wątek stoi.

każdy wątek wykonuje pętle, w kolejnych iteracjach pętli jest blokowany mutex, jeśli inny wątek będzie chciał zablokować mutex będzie
  • Odpowiedz
Tak się ostatnio zastanawiałem czy jest szansa wyskoczyć z własnym biznesem robienia webdevu w C++. W sumie jak ktoś ogarnia to tak samo szybko się zrobi jakiś system jak pythonie czy php a jakby nie patrzeć to to szybsze będzie :) Ma ktoś jakieś doświadczenia?

#programowanie #cpp
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@esio: No właśnie sęk w tym, że nie widzę powodu dla którego miałoby być droższe, pobierz, zapisz w bazie, coś policz, zawołaj jakiś szablon i już.

//edit

A to już nie ten C++ co kiedyś, że pamięć uciekała, fora do iterowania mapy pisało się na trzy linijki itp.
  • Odpowiedz
@WolverinePL: Są frameworki do tworzenia stron w C++, ale to podejście nie ma najmniejszego sensu. Dlaczego?

- Pisanie testów jednostkowych w C++ to droga przez mękę (zwłaszcza w źle napisanych systemach)

- Brak refleksji, przez co IoC przez DI jest dość
  • Odpowiedz
#windows #msvc #microsoft #programowanie #crt #cpp

Trafiliśmy na ciekawego buga w CRT. W skrócie crash z błędem "0xC000001D: Illegal Instruction" jest spowodowany dość głupim przeoczeniem przez MS. Mianowicie gdy procesor obsługuje zestaw instrukcji AVX i tak się "przedstawia" to będzie ten zestaw instrukcji używany. Niby ok, ale AVX nie działa na win 7 bez sp1 i starszych, a tego już nie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Warto wspomnieć, że support dla Win7 RTM został zakończony w marcu 2013 więc pewnie nawet microsoft nie poprawi tego błędu tak szybko ;p
  • Odpowiedz
Mirki, znacie jakieś przypadki, w których -Wall dodaje ostrzeżenia przy linkowaniu, czy jest to tylko flaga kompilacji?

EDIT: Może rozszerzę pytanie: czy są w ogóle jakieś flagi, które są używane zarówno przy kompilacji, jak i konsolidacji? Wszak gcc wykorzystuje do tych dwóch operacji dwa różne programy...

Jeśli tak, to jakie?

#programowanie #cpp
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Onoki: Flagi optymalizacji mają wpływ na kod wynikowy, wobec czego przy odpowiednio błędnym inkludowaniu kod w -O0 się skompiluje, zlinkuje i będzie działał poprawnie, a w -O2 juƶ nie
  • Odpowiedz
@Onoki: Wyszło mi przed chwilą, że jak dasz flagę -g (dodaje info o debugowaniu), to jak ld nie będzie mógł znaleźć jakiejś funkcji to uprzejmie pokaże też w której lini kodu źródłowego jest odniesienie do szukanej nazwy (a nie tylko przesunięcie w sekcji .text binarki)
  • Odpowiedz
Czy ktoś zna takie narzędzie które pozwalało by zarządzać malutkim projektem, dodawać to do, zgłoszenia błedów, potrafiło łączyć się i kojarzyć zapytania z commitami czy dało się tam zapisywać wyniki testów i wspierało c++ oraz było darmowe i proste w obsłudze?

#cpp #programowanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp

Mireczki mam pewien problem, dylemat. Powiedzcie mi: kiedy przy deklaracji zmiennej/obiektu rzucać go na stos a kiedy na stertę? W zasadzie nie widzę wiekszych różnic. Gdzieś, kiedyś, jakoś, ktoś napisał "ee, lepiej umieść cośtam na stercie bo jeszcze na stosie Ci się nadpisze albo straci zasięg i będzie" - jak skoro stos nie może się nadpisać? Poza tym nawet jeżeli zadeklarujemy coś w funkcji na stercie
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#cpp

#programowanie

Siema mirki, jest mi w stanie polecić ktoś dobrą książkę do nauki cpp? na zajęciach (policealna ti) skończyliśmy omawiać cpp na tablicach wielowymiarowych, w ramach, że mam teraz trochę wolnego chciałem samemu "pójść dalej". Słyszałem, że Thinking in c++ jest dobrą książką pytanie brzmi czy nie będzie dla mnie zbyt zaawansowana na obecny poziom wiedzy ;)
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@StephanieHwang: dokładnie. Symfonia -> (1) praktyka -> problem -> stackoverflow -> uzupełnianie wiedzy -> (1). Dla przykładu udało mi się w miesiąc od zera napisać grę w C# (klon invaders). Przerobiłem jedną książkę i zacząłem pisać.
  • Odpowiedz
@ronkad: skoro c++ to można zrobić klasę, średnia będzie przechowywana w jakimś polu i uaktualniana przy wstawianiu nowego elementu do listy. Sporo można tu poprawić, współczuję prowadzącej w takim razie :|
  • Odpowiedz