Siema,

Mam klasę X, w zakresie której tworzony jest obiekt klasy Y. Ze względu na unit testy, które będą puszczane na maszynie o innej architekturze potrzebuję podmienić implementację klasy Y tworząc jakiegoś stuba. Jedyną rzeczą jaką chciałbym zmienić w kodzie, to stworzenie interfejsu dla klasy Y, a na etapie kompilacji pod unit testy podmieniać tylko plik źródłowy. Żeby to wszystko ogarnąć, trzeba stworzyć 3 headery (InterfaceY.hpp, Y.hpp i YStub.hpp) i dwa pliki
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Passer93: Spróbuję zrobić to w ten sposób :)
@Saly: Tego próbowałem uniknąć, żeby nie dokładać do konstruktora implementacji narzędzia (obiekt Y), które jest zależne od architektury.
  • Odpowiedz
@Saly: Rozumiem twój punkt widzenia, ale pliki CMake'a to dla mnie też część "kodu" i łączenie różnych targetów z różnych plików obiektowych to normalna praktyka.

Z CMake'iem jest jak z dżinem, tyle lat go człowiek próbuje okiełznać i nagiąć do swojej woli że jak już się uda to będzie go wykorzystywał do wszystkiego z zemsty xD
  • Odpowiedz
Cześć,
Jak piszecie unit testy pod soft, który jest dedykowany dla innej architektury? W moim przypadku robię development na Ubuntu z x86 pod płytkę ARMową z RTOSem, problem jest taki, że nawet chcąc oddzielić logikę pod unit testy od warstwy RTOSa, to i tak potrzebuję skompilować całość. Czy problem jest głównie w mojej architekturze kodu czy jest na to jakieś sprytne obejście?

#embedded #linux #cpp #
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy problem jest głównie w mojej architekturze kodu czy jest na to jakieś sprytne obejście?


@Parseval: w architekturze. Nie wydzieliłeś rzeczy specyficznych dla danej platformy. Potem robisz dwie implementacje tej części linux i rtos.
  • Odpowiedz
@Parseval: W architekturze. Kod powinienenś mieć napisany w taki sposób, żeby tylko najniższa warstwa zależała od systemu, a reszta była uniwersalna. Wtedy w testach to co jest "OS specific" mockujesz i jest bajka.

Plus dzięki takiej architekturze raz, że masz łatwiej przenieść kod na inny procesor/system, dwa, że możesz sobie napisać implementację tej najniższej warstwy pod Ubuntu (emulując oczywiście hardwarowe rzeczy), tym samym ułatwiając sobie cały development.
  • Odpowiedz
Siema, pytanko mam królu złoty.
Od kilku lat programuję mikroprocesory w języku C i wydaje mi się, że powoli przestaje się rozwijać. Padł pomysł, żeby przebranżowić się w C++ i iść w embedded Linux. Akurat zajmuje się projektem, w którym programuje się GUI w C++, więc mogę się na bieżąco uczyć i jeszcze za to płacą ( ͡ ͜ʖ ͡)
Co myślicie o takim przebranżowieniu? Warto?
Ile
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@zarowka12: To był trochę taki nieśmieszny, redditowy żart, związany z hajpem wokół tego języka. Sam dla przykładu lubię Lua, leczy moją duszę zepsutą przez JS, ale zdroworozsądkowo nie szukam w tym pracy.
  • Odpowiedz
Kolejny projekt w miare ukończony.

Wchodzi w miejsce ekonomizera w zegarach #e36

Wyświetla co sobie chcecie, może przyjąć 4 analogi, CAN i inne pierdoły. Tutaj komunikacja po wifi za pomocą MsgPck (taki mały Json).

Do
sorek - Kolejny projekt w miare ukończony.

Wchodzi w miejsce ekonomizera w zegarac...
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki obeznane w #c lub #cpp ii #programowanie . Szukam ściągi ze wskaźników. Wydaje mi się, że unknownews publikował kiedyś coś fajnego. Chodzi mi o krótką notatkę w stylu:
linijka kodu // wskaźnik do tablicy wskaźników
linijka kodu // wskaźnik na wskaźnik do tablicy
linijka kodu // tablica wskaźników wskazujących na wskaźnik
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#it #praca #programowanie #cpp #praktyki #staz #junior
siema, dostałem się na płatne praktyki 3-miesięczne w c++. Zastanawiam się czy da się z tego dużo wynieść i w razie jakbym chciał później szukać pracy w #java lub #c# to czy cokolwiek mi daje takie doświadczenie? Czy mnie to nie przyhamuje?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Lavirs: transition technologies? Kurde marzę o praktykach w cpp ale niestety rynek (tym bardziej na wschodzie) jest mocno średni. Mógłbyś napisać jakie mieli wymagania (czy w ogóle mieli) i czym się tam zajmujesz? Jak coś priv, pzdr!
  • Odpowiedz
#cpp #programowanie #linux #naukaprogramowania
kompiluje kod z c++ na linuxie, ale chce go skompilować na windowsa.
Widzę że muszę do tego użyć kompilatora mingw, chociaż do tej pory kompilowałem wszystko przez g++
problem w tym że pod g++ wszystko działa, ale mingw nie widzi biblioteki SDL. Ktoś wie jak to naprawic?

kompiluje przez komende:
x8664-w64-mingw32-g++ -I include/SDL2-2.0.14/include/ -o test.exe -std=c++17 -lSDL2 -lSDL2image
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#naukaprogramowania #programowanie #cpp #sdl
Chcę napisać pierwszy silnik do gier 2d, i oparłem się o SDL2
Problemem jest ładowanie tekstury, i przypisanie jej do wskaźnika żeby potem ją wyrenderować. Ktoś mógłby rzucić okiem na to co jest tu nie tak?
https://github.com/RedveCPP/SDLLinux/tree/master/src/Classes/Game

Błąd występuje w konstruktorze klasy Entity, który wywołuje w funkcji main, a sama metoda do ładowania tekstur jest w klasie Game
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@copego: nie, to koncept(dostępność właśnie operator<, możliwość odejmowania iteratorów w czasie stałym, możliwość przeskoczenia kilku elementów w czasie stałym, itp.). kontenery ciągle w pamięci mają contiguous iteratory(które są random access + mają ciągłą pamięć). przykładem nieciągłego random access jest deque
  • Odpowiedz
Warto się jeszcze uczyć C++ pod kątem zarobkowym? Lub, abstrahując od zarobków, dla samej nauki jak to działa na "niższym" poziomie?

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

Treść przeznaczona dla osób powyżej 18 roku życia...
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

prawdopodobnie jestem imbecylem ale nie rozumiem co się do mnie tutaj mówi. o ile domyslam sie, ze powinienem wrzucic pliki z folderu include do "katalogów plików nagłówkowych" w VS, o tyle nie wiem jak polaczyc z projektem bibliotekę z koncowka .a. Google jakos mi nie chce podsunac rozwiazania ani nawet powiedziec czym wlasciwie jest taki plik ( ͡° ʖ̯ ͡°) podpowie ktos?
#cpp #naukaprogramowania
klamkaodokna - prawdopodobnie jestem imbecylem ale nie rozumiem co się do mnie tutaj ...

źródło: comment_1623857318ns0p1WgnCA70SQSLmTKwZY.jpg

Pobierz
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@klamkaodokna: Od linii 100 autor przygotował instalację biblioteki dzięki której można później odwoływać się do niej porzez https://cmake.org/cmake/help/v3.20/command/find_package.html Niestety ograniczył ją do systemów Unixowych. Teoretycznie możesz spróbować zakomentowac tego ifa i spróbowac wywołac cmake install po zbudowaniu. W praktyce przyniesie to niewielkie korzyści ze względu na chaos lokalizacji bibliotek pod Windowsem.

Jako, że i tak musisz to zbudować to na początek po prostu dodaj źródła do swojego projektu, odwołaj się
  • Odpowiedz