@KedanKedanowski: To wszystko zależy, czemu tego po prostu nie przetestujesz? Czasem w 1000 pętli może być szybszego niż jedną petla jeśli dobrze ułoży data pattern access po cache'u procesora.
Ogólnie jeśli chodzi o wydajność to zasada nr1: "benchmarking, benchmarking, benchmarking". A wyniki często będą różne pomiędzy architekturami.
  • Odpowiedz
@trzeci: Skad w ogole pomysł by usunac funkcje? Funkcje nie są alokowane na stercie tylko są fragmentem kodu programu jako sekcja ".text". Co chciałbyś przez to osiągnąć?
  • Odpowiedz
Cześć,

Napisałem interfejs dla fizycznych interfejsów pod #linux . Interfejs zawiera dwa kontenery pełniące rolę buforów. Następnie stworzyłem klasę implementującą Serial Port, która dziedziczy publicznie po Interfejsie te bufory. Czy da się lepiej przekazać typ buforów do interfejsu tak, żeby klasa SerialPort nie musiała implementować wszystkich metod jako template? Jedynę co potrzebuję, to zrobić template w metodzie write(), żeby określić typ danych.

Tutaj wstawiam pseudokod: pastebin
Celowo pominąłem implementację metod dla uproszczenia.
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Parseval: zakładam że to tak 'dla nauki' ale problem jest znany i opisany szeroko.

Pierwsze primo nie generalizuj za szybko.
Będziesz zawsze gadać z konkretnym sprzętem np. akcelerometrem XYZ123. Czyli będziesz musiał mieć do niego driver bo wewnątrz jest mikroarchitektura diametralnie różna od twojej.
To jest dobry punkt centralny w myśleniu. 'w górę' udostępnia on dane o np. ilości kroków, rodzaju wykonywanej aktywności i przyspieszeniu w 3 osiach, itd. więc
  • Odpowiedz
#anonimowemirkowyznania
Kolejne pytanie o język #programowanie Ale spokojnie swoje już programowałem i wiem, że język to tylko narzędzie do rozwiązania problemu. Otóż pracowałem już kilka lat w desktop, potem kilka lat w embedded. Ale w moim mieście jest mało ofert w tych kierunkach i na moje możliwości dobiłem już sufitu. Chcę teraz uderzyć w #webdev Głównie programowałem w #cpp do tego różne narzędzia i
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Z jednej strony stoi #jezykc i ciekawość działania systemu, jak kolega ostatnio opowiadał jak działa SEGFAULT naprawdę mnie to wciągnęło, plus kwestia nauki #cpp żeby grzebać przy QMLkach w pracy - czyli zwiększanie swojej wartości w pracy.

Z drugiej strony stoi chęć pisania tego co lubię, czyli #csharp i #wpf - to mi sprawia przyjemność i po prostu lubię to robić.

Co byście wybrali?
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@NewEpisode:

Jeśli chodzi o pieniądze to najwięcej w tej chwili jest w szeroko pojętej web developerce. Patrząc że lubisz C# i WPF to najbliżej Ci będzie do ASP.NET Core. Aplikacje desktopowe zwłaszcza w takich jedno platformowych technologiach jak WPF to nisza. Do tego jak znasz C# i frameworki dotnetowe to po będzie Ci łatwiej się przesiąść na ASP.NET Core

Poza tym nikt Ci nie broni pracować w tym co lubisz
  • Odpowiedz
Przeglądnąłem tag do 3 miesięcy wstecz i nic nie znalazłem.

Potrzebuje tutoriali na necie odnośnie #cpp, w pracy będę zastępował juniora który ogarniał CPP + QML (Głównie QML - rozwój produktu opartego na Qt), za około półtorej miesiąca i chciałem już się podciągnąć żeby nie startować od zera. Aktualnie pracuje jako python dev od pół roku. Macie jakieś źródła wiedzy? Mile widziane na youtube, z książek nie potrafię się
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dlaczego po użyciu spacji podczas wypisywania elementu struktury, to to co po spacji przechodzi do drugiej zmiennej? Czyli wyskakuje mi podaj tytuł; wpisuje np Pan Tadeusz i pan się zapisuje jako tytuł, a tadeusz jako tytuł.

void fill (int a)
{
for (int i = 0; i < a; i++)
{
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp jak zrobić "prawdziwie globalną" zmienną? Mam klasę Dbgr ze zmienną statyczną Dbgr* oraz statycznymi funkcjami które patrzą czy ten wskaźnik jest pełny, a jeżeli tak - coś robią. Mam też funkcję createDbgr() która nie robi nic jeżeli ten wskaźnik już jest pełny. Efekt jest taki, że w zależności od tego skąd wywołam te funkcje, mam ten wskaźnik pełny lub pusty, a więc to nie jest globalna
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MamCieNaHita: jakby co, zgodnie z tym: https://stackoverflow.com/questions/8623657/multiple-instances-of-singleton-across-shared-libraries-on-linux - to co chcę jest niemożliwe w obrębie singletona w sposób nie wymagający OS-dependent rzeczy więc zrobiłem po prostu getInstance w każdej bibliotece do osobnych, statycznych pointerów i połączyłem je signal-slotem qt, a że Q_OBJECT się z singletone gryzie to jeszcze musiał to być member tworzony w singletonie, także no, strasznie skomplikowane i na pewno możnaby ten same efekt mieć prościej... ale działa,
  • Odpowiedz
@biskup2k: w skrócie po prostu liczę to z czasu injectorów, RPMów i robię L/h, a następnie liczę średnią spalania na 100km biorąc pod uwagę jaki rozmiar mają te injectory.

Mnożę razy 3x na obrót (bo 6 cylindrów) i później dzielę przez dystans wyciągając średnią ważoną.

Na 0 km po prostu nie zmieniam avg. Normalne OBC dolicza coś na
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 39
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam pewną klasę, w której jest sporo pól skomplikowanych typów. Chciałbym stworzyć idealną kopię obiektu tej klasy w innym miejscu pamięci. Czy jest na to prosty sposób, czy muszę pisać konstruktor kopiujący?
#programowanie #cpp
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki da się jakoś przy wykorzystaniu niczego więcej niż iostream użyć +, albo - zapisanego jako char, do definiowania tego co ma robić funkcja? Np zamiast:

int dodawanie(int, int) { return a + b; }

Robię np:

char
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bachuxd: Ogólnie przetwarzanie stringów/"ciągów bajtowych", to nic innego jest interpretacja bajtów, jako takie, które kodują symbole typograficzne i je należy przeprocesować/przetworzyć do postaci operatorów/instrukcji zrozumiałych dla CPU/MCU/CU.

Takie sztuczki jeszcze można robić w językach skryptowych/interpretowanych przez tzw. eval lub lazy/późne kompilowanie w trakcie run-time.

Pod maską języki skryptowe są wykonywane/interpretowane na bieżąco i robią, to co ty tutaj - parsują i przetwarzają na operacje/instrukcje dla procesora, ale to też jakiś
  • Odpowiedz