Mam bardzo mały projekt, który korzysta z kilku bibliotek header-only i one znacznie wydłużają czas kompilacji. Jak najlepiej rozwiązać ten problem?
W CMake`u dodałem "target_precompile_headers", ale efekt nie jest oszałamiający.
#cpp
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@cordianss taka jest cena bibliotek header only. Jeśli koniecznie chcesz z nich korzystać, możesz rozważyć wprowadzenie warstwy kompatybilności między aplikacją a biblioteką.
  • Odpowiedz
Pisałem swoją grę w C++ przez 10 lat - taki Hotline Miami z multi. Dziś gram w nią z kumplami na Steamie, a mojego kodu użył Assassin's Creed i spółka produkująca drony. To wielki dzień dla mnie Mirki.

Zagrajcie - jest za darmo na Steamie. Jak się spodoba zostawcie reviewa i gwiazdkę na GitHubie dla zasięgów ( ͡º ͜ʖ͡º)

Napisałem to bez silnika, od zera. Wszystko w NeoVimie bez
bob-pager - Pisałem swoją grę w C++ przez 10 lat - taki Hotline Miami z multi. Dziś g...
  • 86
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Polecicie jakieś narzędzie do automatycznego sprawdzania duplikacji kodu? Cppcheck nic mi nie pokazuje a mam ich sporo. Nie chce mi się ręcznie lecieć po wszystkich funkcjach i porównywać ich meldem bo to za długo by trwało.

#programowanie #cpp #esp32
walokid - Polecicie jakieś narzędzie do automatycznego sprawdzania duplikacji kodu? C...

źródło: duplikacje kodu

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ja chciałem się pochwalić, że po 2.5 roku po przejściu do #programowanie #cpp z #plc udało mi się awansować na mida. Kokosów nie ma, ale też źle nie jest jeśli chodzi o pensję (13.5k brutto). Mimo, że bardzo to była spontaniczna wówczas decyzja to cieszę się, że ją podjąłem :)
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Siema Mirasy.
Robie wifi managera pod #esp32. Jest on na wzór tego od tzapu z tą zeletą że z założenia ma działać na wszystkich platformach tzn czystym espidf, espidf w platformio, arduino-esp w platformIO i Arduino IDE. Z funkcjonalności mam
- captive portal,
- zapis ssid i hasła do wifi w pamięci nieulotnej
- custom parametry
- działanie w trybie STA i
walokid - Siema Mirasy.
Robie wifi managera pod #esp32. Jest on na wzór tego od tzapu...

źródło: wifiMgr

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jakie firmy robią ciekawe rzeczy w C++? Do tej pory pracowałem w dwóch firmach w tym języku i w obu przypadkach było to ogromne legacy, w którym tylko czułem że się wypalam. Zaczynam się zastanawiać czy to nie urok tego języka i czy nie spróbować z czymś innym.

#cpp
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
@walokid: @314159 kurczę o telko też słyszałem nie najlepsze opinie. Dodatkowo podobno jest tylko kilka firm które królują w tej branży więc nie ma zbyt dużego wyboru. No chyba że 5g to jakaś zupełnie niezależna odnoga telko i ona nie ma nic wspólnego z całą resztą, która jest owiana złymi opiniami - tutaj ponownie mogę gadać głupoty przez moją niewiedzę
  • Odpowiedz
#programowanie #cpp
Potrzebowałem zrobić super prosty endpoint HTTP w C++, i trochę się naszukałem i natestowałem różnych bibliotek. Jedne były większe inne mniejsze, ale finalnie trafiłem na bardzo fajną bibliotekę (jeden pliczek .h):
https://github.com/yhirose/cpp-httplib

Zostawiam dla potomnych, jakby ktoś kiedyś szukał super prostej biblioteki pod restowe API.
Dodatkowo składnia trochę przypomina expressa :D
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Saly: To było po to abyś mógł mieć jeden serwer na jednym porcie obsługujący wiele niezależnych apek, bez możliwości wywalenia serwera przez którąś z apek. To wyrosło jako proste rozszerzenie modelu statycznych stron www - jeden serwer, ale każdy z userów może mieć własną stronkę i wszystkie te stronki są dostępne na tym serwerze pod jednym wspólnym adresem, a tylko różnią się ścieżką. Potem przecież ten sam model był używany
  • Odpowiedz
Jak to się powinnno rozwiązać ?


@walokid: najlepiej bin searchem https://www.geeksforgeeks.org/median-two-sorted-arrays-different-sizes-ologminn-m/ ale dużo roboty i łatwo się p-----ć. Alternatywnie dużo lepszym rozwiązaniem jest po prostu liniowe przechodzenie obu tablic na raz tak, żeby obrabiać elementy w porządku niemalejącym i zwroceniem odpowiedniej wartości jak dojdziemy do środka.

Jak masz algorytm, gdzie jest posortowana liczba to zawsze pomyśl o binsearchu, bo złożoność log w porównaniu do n
  • Odpowiedz
@JamesJoyce: jak ten czat jest naprawdę inteligentny, to do ostatniej chwili nie przyzna że chce nas ludzi wygryźć z tego interesu ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
  • Odpowiedz
@placebo_: Nie wiem, który łatwiejszy, bardziej zastanawia mnie skąd weźmiesz materiały do nauki Rusta jeżeli nie potrafisz programować w innym języku.

Po za tym ile Rust ma plusów? C++ ma dwa.
  • Odpowiedz
@placebo_: w Rusta jak początkujący to na jakimś spokojnym serwerku bez PvP żeby się na lajcie budować a c++ to nie znam takiej gry
  • Odpowiedz
#cpp #visualstudio #git
k-----a mnie zara strzeli
Chcę zmienić nazwę funkcji, więc ją zaznaczam, ctrl+R i wpisuję nową nazwę, potem chcę skompilowac kod i nagle zonk, jakiś błąd. No to cofam zmianę nazwy funkcji, ale błąd nadal pozostał. A przed zmianą nazwy wszystko ładnie śmigało.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak powinna wyglądać struktura nowoczesnego projektu C++?
Podoba mi się to, otwarty standard, ale nie wiem, czy powinienem słuchać...
Może pójdę klasycznie src i include. Ale to wygląda na starą szkołę, czy ktoś zna dobre praktyki?
Będę używał modułów i szablonów, więc c++20 w górę.
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1204r0.html

#linux #c #cpp #programowanie #programista15k
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@nostalgiwolf: najzabawniejsze jest to, że większość języków znacznie nowszych od C++ jest nadal mocno w tyle za C++ pod względem ekspresywności, wydajności, przenośności czy nawet narzędzi do debugowania. Przykładowo taki nowoczesny Kotlin jest taki nowoczesny że nie ma nawet typów unsigned, a programiści Go dopiero od roku jarają się że dostali genericsy i nadal czekają na iteratory.

Jedynym nowoczesnym językiem, który jest w stanie rywalizować z C++ jest Rust. Cała
  • Odpowiedz
@Szalaputka: Jaki masz problem ? Z kodem, komunikacją czy jakiś sprzętowy ? Może będę w stanie Ci pomóc, parę lat zajmowałem się projektowaniem i programowaniem takich ustrojstw ;)
  • Odpowiedz
#programowanie #python #perl #c #cpp

Pytanie do programistów.

Swoje pliki konfiguracyjne podzieliłem na pakiety i napisałem sobie narzędzie do zarządzania nimi. Skrypt został napisany na szybkiego, sprawdza się, ale chciałbym go przepisać. I tutaj pojawia się pytanie.

Moje
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@psiversum: jak siedzisz przy jednej dystrybucji to zrób sobie paczkę (np DEB czy RPM czy coś tam) z konfigiem do danej apki i daj w zależnościach tę apkę. Wtedy przy instalacji configa automatycznie zainstaluje ci apkę + zależności. np robisz desk-vim-config.deb że zależy od vim. A analogicznie robisz paczkę desk-all która zależy od desk-vim-config desk-cos-tam-config itd. Wtedy apt install desk-all i pozamiatane. Wszystko trzymasz w repo GITa.

Tylko musisz
  • Odpowiedz
  • 0
@m_bielawski: też nie głupie. O tym nie pomyślałem wcale. Kwestia tego, czy ma to sens do zastosować tego typu, co ja potrzebuję. W trakcie np. instalacji systemu, ja mam mój skrypt, deskset dostępny. Nie wiem, jak z narzędziami, które wymieniłeś. Sądzę, że są to dość duże kobyły. Ale trzeba by się temu bliżej przyjrzeć.
  • Odpowiedz
#programowanie #cpp #winapi #windows #wingdi #gdi #visualstudio Cześć, mam taki edytor.
Poszukuję jakiegoś prostego przykładu, który by coś rysował nie w głównym oknie aplikacji tylko w dodatkowo utworzonym oknie takim jak tutaj po lewej.
Nie jestem pewien czy dobrze mam to zrobione, chciałbym zobaczyć przykład który pokazuje jak to się powinno robić. jedyne przykłady jakie znajduje to takie
ZawzietyRobaczek - #programowanie #cpp #winapi #windows #wingdi #gdi #visualstudio Cz...

źródło: Przechwytywanie

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ZawzietyRobaczek: czy jest jakiś szczególny powód, dla którego bezpośrednio piszesz w winapi? W sensie ja wiem, że każdy ma swoje tam preferencje, ale są chyba prostsze sposoby na pisanie okien.
  • Odpowiedz
@ZawzietyRobaczek: Rozumiem, że z racji doświadczenia znajomość winapi może się przydać przy utrzymaniu jakichś starych projektów, ale ja osobiście nie trzymałbym się jednej konkretnej platformy (a zwłaszcza Windowsa) myśląc o dalszym rozwoju zwłaszcza w C++. Qt jest na licencji LGPL - możesz podlinkować potrzebne biblioteki statycznie przy zachowaniu licencji. To co potrzebujesz jest tam do zrobienia od strzała i będzie dało się zbudować pod wiele systemów.
  • Odpowiedz
#programowanie #programista15k #cpp #ui #gui Czego mogę użyć do przyjemnego zrobienia GUI i zeby to połąćzyć z kodem CPP w Visual Studio? Do tej pory robilem po prostu interfejs w WinAPI. I jeszcze chodzi o to żeby skompilowany plik wykonywalny był jeden w sensie nie potrzebował linkować dodatkowych biliotek ktore np. musza być w folderze. Wiec zeby sie dało zlinkować statycznie do
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@horus666: żeby spełnić założenia LGPL musisz pozwolić na podmianę libki qt. albo przez dynamiczne linkowanie(które op odrzuca), albo przez dostarczenie źródeł, żeby sobie samemu zlinkować
  • Odpowiedz
@defoxe: -I /usr/include/catch2 tym zakomunikowałeś gdzie są same headery, ale nigdzie nie dałeś informacji skąd ma sobie dolinkować "mięso" do finalnej binarki. takie coś by wystarczyło jakbyś miał bibliotekę header-only. imo ten -I /usr/include/catch2/ jest niepotrzebny w ogóle, powinien tam z automatu zerkać
  • Odpowiedz