#visualstudio #programowanie #cpp Mireczki, jak skonfigurować Visual Studio aby móc skompilować jednocześnie kilka wersji daneo projektu, tzn. jest to plugin który ma działać w równych wersjach aplikacji, każda wersja tej aplikacji ma swoje SDK, wiec kompilacja plugina dla kazdej wersji musi korzystać z innych ścieżek do plików h i lib.. probowalem z tymi ustawieniami w Configuration Manager, ale tam on nie bierze pod uwage zmian w
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Myślę, że CMake jest świetnym narzędziem do rozwiązania tego problemu. Definiujesz target, którym jest Twój plugin i linkujesz go raz do jednej wersji libki, a raz do drugiej, itp.
@Kopytko1 To prawda, bo musisz się nauczyć kolejnej rzeczy od nowa, ale myślę, że w przyszłości ta wiedza Ci się zwróci, bo CMake jest często używany w projektach z C++, jako baza do build systemu.
  • Odpowiedz
@Kopytko1: w cmake masz instrukcje warunkowe. Możesz sobie ustawić że jeśli jest opcja LINKLIB=A to linkuj z biblioteką A, a jeśli B to z biblioteką B.
potem tworzysz osobne konfiguracje budowy z opcjami -DLINKLIB=A lub B jako argumentami do generatora makefile po cmake -B...
Inna opcja to robić osobne targety w jednym pliku dla roznych konfiguracji i generować wszystko raz, a potem kompilować tylko target który akurat potrzebujesz.
  • Odpowiedz
Załóżmy, że wprowadzę wiele rodzajów zdarzeń do obsługi przez obserwatorów. Który wzorzec będzie lepszy i dlaczego?
1. https://pastebin.com/Mut68NG6 - jedna funkcja wirtualna przyjmująca jako parametr zdarzenie (struktura z polem określającym typ zdarzenia i unią struktur), oczywiście CEventHandler dziedziczy IObserver.
2. https://pastebin.com/iwtaiqKW - definiowanie funkcji wirtualnych dla każdego osobnego zdarzenia.

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

@Feargan: przydałoby się więcej kontekstu, żeby wybrać.

A. czy każda implementacja obserwatora powinna reagować na wszystkie rodzaje zdarzeń? Jeśli tak to bardziej rozwiązanie 2 (bo nie zapomnisz obsłużyć) jak nie to bardziej rozwiązanie 1 (bo będzie cię w-------o pisanie tysiąca zaślepek)

B. ogólnie czym się mają różnić klasy dziedziczące po IObserver między
  • Odpowiedz
#anonimowemirkowyznania
Hej mirki spod tagu #programowanie, #cpp. Jestem na 1 roku #studbaza #informatyka i mam aktualnie C++. Z matematyki radzę sobie świetnie, ale za to mam spore problemy z tym językiem. Zastanawiam się nad dobrym źródłem nauki, może byście coś polecili dla początkującego? Nie wiem gdzie szukać, profesor też nie za bardzo do rozmów.

Nie byłem wcześniej w techbazie, a uczyłem
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nowy wpis na moim blogu. Druga część posta o "function multi-versioning". Tym razem o problemach z użyciem "multi-versioningu" w połączeniu z "builtins" (przepraszam za słownictwo)
https://extensa.tech/blog/multi-versioning-problem-part2/

Tak, wciąż jest assembler, więcej niż kiedykolwiek... Ale na pocieszenie są też obrazki.

#cpp #cplusplus #programowanie #extensa #blog
terion - Nowy wpis na moim blogu. Druga część posta o "function multi-versioning". Ty...

źródło: comment_b1KnHGiqBSNnid5rE6yl2CWFb6oP7Cti.jpg

Pobierz
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zapoda ktoś tutorial od podstaw do C++ LibWebSockets?
Znam podstawy c++ (głownie programuje w technologiach webowych). Mam już skompilowaną biblioteke i uruchomiony pierwszy przykład na raspberrypi - działa. Niestety logika działania programu jest skomplikowana i potrzebuje pomocy. Może jakiś serdeczny mirek by mi po krótce objaśnił kod z tego przykładu (w którym miejscu dane są wysyłane, objaśnienie struktur zmiennych itp)
https://pastebin.com/sLcQ7Zu2
#programowanie #cpp #libwebsockets #nauka
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
Od jakiegoś dłuższego czasu uczę się #programowanie w #cpp, chcę wyjść z konsoli i przejść do gier 2D, chcę napisać coś prostego.

Wybrałem bibliotekę (czy co to tam jest) #sfml, trochę poczytałem i coś tam wiem, ale bardzo mało.

Gra ma być 2D, zrobiona z kafelków o rozmiarze 16x16. Ekran wyświetlający 160 na 160 pikseli. Mapa ma na przykład 1600 x 1600 pikseli.

Można
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
@HalEmmerich: Czyli zrobić jedną teksturę, w niej jakby kwadraciki 16x16, pierwszy trawa, drugi woda, trzeci ściana itd. potem przepisać w SFML, że trawa to kwadrat od 0x0 do 16x16, woda od 16x0 do 32x16 itd.? Zrobić tablicę i przepisać gdzie te elementy się znajdują i będzie git?
  • Odpowiedz
@krykoz: Tak, coś w tym stylu ( ͡° ͜ʖ ͡°) Zrób jak uważasz, potem powiększ poziom do gigantycznego rozmiaru i sprawdź czy dalej gra chodzi (stress test?). Jeśli tak, kontynuuj. Jeśli nie, kombinuj i wymyśl coś lepszego (σ ͜ʖσ)
  • Odpowiedz
#cpp #naukaprogramowania #sfml
Da się jakoś zrobić tak, że przy deklaracji tablicy obiektów od razu na każdym z nich wywołać konstruktor?

std::array lines;
i na każdym chcę wywołać konstruktor VertexArray(sf::Lines, 2)

albo do ludzi ogarniających sfml, czy jest jakaś łatwiejsza metoda na tablicę z liniami?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zainstalowałem mingw-w64 na windowsie ale podczas kompilacji do 32b ( -M32 ) sypie błedami (73linjki o "skipping incompatible"). Help.
#cpp
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
Robie te zadania wszystkie latwe ida gladko i nagle dostaje zadanie w stylu "dany jest ciag licz n oblicz sume parzystych" lub cos podobnego gdzie mocno jest grana matma i mam zwieche i muszę to rozkminic kupe czasu. To normalne?
Zrobilem jako tako przesiadkę z Pythona na C++ i mam wrażenie ze ten język jest mocno skomplikowany. Przejdziesz to z praktyka? I tak przyszłość upatruje w wężu ale przez semestr mam walkowanego
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xMafiozAx: a pierwsza trudność (pomijając zrozumienie treści zadania ;) ) polega na pozbyciu się pętli. Polecam użyć notatnika i prześledzić wyniki a ^ x dla kolejnych wartości a.
  • Odpowiedz
modern cpp to zupelnie inny świat nic to co proponuje Prata

@Passer93: W większości firm nie ma "modern cpp", tylko legacy C++98 z elementami C++11. Ogromnym problemem C++ jest to, że żeby w nim pracować musisz znać każdy standard od 98 do 20, bo w pracy możesz się natknąć na wszystko - i nie być w stanie używać "dobrych praktyk" które weszły wraz z nowym standardem.
  • Odpowiedz
@dupasmoka:
Tak, to prawda. Z drugiej strony w publikacji która linkuje autorzy udowadniają ze implementacja oparta o AVX2 ale bez użycia instrukcji popcnt może być szybsza niż sprzętowy popcnt.
  • Odpowiedz
@terion: GCC wspiera multi-version poza C++?

Przeglądając glibc można podejrzeć sobie implementację na piechotę w C dla niektórych funkcji z stdlib. Przykładowo, dobrze znany memset() zaimplementowany jest kilka sposobów. Kod wybierający właściwą wersję jest tutaj: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_64/multiarch/ifunc-memset.h;h=0c25eae4a48d5c9400a7fbd3d738448fe28f9603;hb=HEAD a poszczególne implementacje tutaj: https://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps/x86_64/multiarch;hb=HEAD pliki memset-*.S
  • Odpowiedz
Mirki z #wroclaw, #pracait szuka ludzi!
R&D Viessmann, praca przy szeroko rozumianej chmurze dla kotłów i pomp ciepła.

Aktualnie potrzebujemy:

2 programistów Front-end (z #angular
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@DingoYT: w sumie to każdy będzie dobry. Ale wypada liznąć coś z ręcznym zarządzaniem pamięcią, żeby nie być młotem, który nie wie, co się dzieje pod spodem. No ale to pewnie i tak będziesz miał osobny przedmiot z czymś niskopoziomowym.
  • Odpowiedz