#cpp

8
26
Mam problem w github CI, że projekt który kompiluję bierze całą dostępną przestrzeń dyskową.

Używam C++ i problem występuje przy linkowaniu - nie ważne czy używam lld, gold czy mold, zawsze jest to samo.

Da się coś na to zaradzić? Np. jest jakiś krok przed linkowaniem, który usuwa pliki źródłowe i zostawia tylko to co potrzebne do linkowania?

To jest krok z budowaniem aplikacji z address sanitizerem, więc nie mogę wyciąć żadnej opcji, która zmniejszyłaby rozmiar binarki.

#programowanie
#cpp
mike-litoris

@krokietowy ustaw sobie ramdysk jako target do kompilacji, tam przechowywanie objfile zlinkują sięjak trzeba a po tym procesie zyskasz binarkę na fizycznym storage'u

m_h

A nie dałoby rady budować bibliotek (.a) z poszczególnych komponentów i na koniec z linkować je do końcowej binarki?

groman43

@krokietowy Z czystej ciekawości, co to za projekt. Bo to musi być niezła kobyła, w co nie za bardzo chcę mi się wierzyć.

Zaloguj się aby komentować

Hej, programiści. Mam pytanie filozoficzno-techniczne.

Załóżmy, że jest sobie jakieś tam API udostępniające różne funkcje. API nie jest obiektowe i stanowi po prostu jedną płaską listę funkcji, które można wywołać z różnymi parametrami. Obowiązkowym parametrem każdej funkcji jest identyfikator klienta (pluginu), który funkcję wywołuje.
Chciałem sobie to API jakoś opakować i porobić na jego podstawie jakieś proste obiekty, którymi potem będzie można manipulować, ale nie wiem jak to rozwiązać architektonicznie, głównie przez ten obowiązkowy identyfikator, który trzeba zawsze przekazywać. Każdy jeden obiekt musiałby znać ten identyfikator, więc musiałby być on globalny. Z drugiej strony nie może być za bardzo globalny (np. jako obiekt statyczny), ponieważ teoretycznie w tej samej przestrzeni pamięci będą przebywać różne pluginy z różnymi identyfikatorami. Z kolei przekazywanie identyfikatora jawnie do obiektów za każdym razem trochę mija się z celem, gdyż właśnie tego chcę uniknąć.

Może zetknęliście się kiedyś z takim problemem, albo istnieje jakiś wzorzec na coś takiego?

#programista15k #programowanie #csharp#dotnet #cpp (dla zasięgu)
sierzant_armii_12_malp

@MostlyRenegade No to niech sobie każdy obiekt trzyma ten API key - wtedy nie będziesz go musiał za każdym razem do obiektu przekazywać. Różne pluginy w tej samej przestrzeni bdą, oczywiście, musiały korzystać z innych instancji danej klasy.

MostlyRenegade

@sierzant_armii_12_malp Właśnie wymyśliłem, że przecież i tak te obiekty muszę najpierw pobrać funkcją API, a potem wszelkie zmiany zatwierdzić innymi funkcjami, więc już na etapie ich pobierania mogę im przypisać klucz. A gdybym tworzył nowy obiekt, to nic nie stoi na przeszkodzie, aby pobrana kolekcja (w sensie obiekt) również trzymała klucz i przekazywała go obiektom w miarę potrzeby.


Czasem wystarczy napisać posta na hejto i rozwiązanie samo przychodzi ( ͡° ͜ʖ ͡°)

wombatDaiquiri

@MostlyRenegade o widzisz, a ja się zastanawiałem dla kogo pisze @elszczepano a pisze dla Ciebie - polecam jego bloga@MostlyRenegade


w większości przypadków wystarczy użyć konstruktora obiektu z parametrem: https://www.frontstack.pl/blog/constructor-design-pattern


dla bardziej specyficznych zastosowań możesz chcieć użyć: https://devszczepaniak.pl/wzorzec-projektowy-builder/ lub https://devszczepaniak.pl/wzorzec-projektowy-factory-fabryka/

koszotorobur

@wombatDaiquiri - zaoszczędziłeś mi wymądrzania się

mortt

jeśli Cię dobrze rozumiem to możesz to ogarnąć przez clousures albo klasę z konstruktorem zależy czy funkcyjnie czy obiektowo.


edit - wombat dał bardziej kompleksową odpowiedź.

Zaloguj się aby komentować

Hej, zna się tu ktoś na C++/CLI?

Jest sobie aplikacja, do której można pisać pluginy. Wtyczki mają postać bibliotek dll, które muszą eksportować odpowiednie funkcje i muszą znajdować się w odpowiednim folderze w ścieżce aplikacji np. "c:\Aplikacja\plugins\"). Interfejs i API jest natywne, ale mam narzędzie napisane w C#, które chciałem podpiąć. Jedna opcja to użycie jakiegoś starego pakietu z NuGeta (DllExport), które dokleja tablicę eksportów do dotnetowego zestawu, ale pomyślałem, że zrobię po prostu pomost w C++/CLI, z którego będą wywoływał obiekty napisane w C#.

Problem polega na tym, że nie mam pomysłu jak poprawnie skonfigurować ścieżki w projekcie, żeby wszystkie DLLki ładowały się od razu przy starcie wtyczki, bez konieczności ręcznego ładowania zestawów dotnetowych i pokazywania ścieżek. Obecnie zestawy dotnetowe muszą być obok aplikacji wywołującej (w "c:\Aplikacja\"), a chciałbym, aby były folderze z pluginami, albo jeszcze lepiej - w dedykowanym folderze wewnątrz katalogu z pluginami (c:\Aplikacja\plugins\MojaWtyczka\). Oczywiście dobrze by było, żeby wszystkie dll-ki budowały się od razu do docelowych folderów przy debugowaniu.

A może jednak trzeba napisać własny resolver, żeby pokazać, gdzie dotnet ma szukać dll-ek?

#programista15k #programowanie #cpp #csharp #dotnet
MostlyRenegade

@fadeimageone no właśnie nad czymś takim pracuję: natywna aplikacja zewnętrzna + wrapper C++/CLI i reszta w C#. Chodzi mi natomiast o konkretny problem ze ścieżkami do wszystkich potrzebnych dll-ek. Nie mogą się znajdować gdziekolwiek, gdyż wtedy to nie działa.

I jak teraz na to patrzę, to chyba najefektywniej będzie po prostu napisać własny resolver, w którym będzie wskazana ścieżka do ich wyszukiwania.

John_polack

Napisałem kiedyś kalkulator w c++ - w czym mogę pomóc?

Zaloguj się aby komentować

.
Dzisiaj ruszyły zapisy na Potyczki Algorytmiczne 2024, ogólnopolski, otwarty konkurs programistyczny.


Harmonogram

Rejestracja rozpoczyna się 1 marca 2024 o godz. 12:00.
Runda próbna startuje 5 marca 2024 o godz. 12:00 i kończy się 7 marca 2024 o godz. 23:59.
Rundy zdalne wystartują 11 marca 2024 o godz. 12:00, a zakończą się 17 marca 2024 o godz. 23:59.
Ogłoszenie ostatecznych wyników rund zdalnych nastąpi 19 marca 2024 o godz. 20:00.
Finał odbędzie się w dniach 24-25 maja 2024 w Zielonej Górze.

Warto spróbować, nawet jeśli ktoś tylko trochę umie programować. Zadania i rozwiązania z poprzedniej edycji.

Każdego, kto jest pasjonatem algorytmiki i programowania gorąco zapraszamy do wzięcia udziału w XIX edycji konkursu „Potyczki Algorytmiczne”. Potyczki Algorytmiczne są najstarszym internetowym konkursem algorytmiczno-programistycznym w Polsce, adresowanym do wszystkich – uczniów, studentów, zawodowców i amatorów, bez jakichkolwiek ograniczeń wiekowych. W tej edycji, oprócz rozwiązań w C++, dopuszczamy także rozwiązania w Pythonie.
Rejestracja on-line do konkursu rusza już 1 marca 2024 r.
Potyczki Algorytmiczne w roku 2024 składać się będą z dwóch etapów:
● zdalnego – odbywającego się w dniach od 11 marca do 17 marca 2024 roku;
● wielkiego finału – rozgrywanego w dniach 24 – 25 maja w gościnnych progach współorganizatora konkursu, zielonogórskiej firmy Digital Technology Poland. DTP Ltd. Do finału zostanie zakwalifikowanych 20 zawodników.
Dla najlepszych zawodników czekają nagrody rzeczowe. Dodatkowo 128 uczestników otrzyma kultowe koszulki Potyczek Algorytmicznych 2024 oraz upominki-niespodzianki.

#cpp #python #algorytmy

Jak ktoś ma konto na wykopie, to może tam też opublikować.
Iknifeburncat

O kurczę zajrzę. Dzięki!

Zaloguj się aby komentować

Problem:
Konstruktor zmiennej globalnej nie jest wywoływany.
Po długich godzinach szukania co tu się w ogóle dzieje okazało się, że problem występuje tylko w niektórych plikach w projekcie i tylko w Visual Studio.

Rozwiązanie:
Problem pojawia się jeśli w statycznej libce (dołączanej później do exeka) masz zmienne globalne. Visual Studio domyślnie podczas linkowania nie bierze wszystkich rzeczy z libki - konieczne jest dodanie argumentu linkera /WHOLEARCHIVE (wielkość liter zdaje się mieć znaczenie, co na windowsie nie jest zbyt częste).
W przypadku CMake trzeba dodać:
set_property(TARGET projekt_robiący_binarkę APPEND PROPERTY LINK_OPTIONS /WHOLEARCHIVE:libka_ze_zmiennymi_globalnymi)

Uwielbiam Microsoft. Gdyby nie to, że linkowanie używając GCC zajmuje u mnie ~2 minuty to bym dalej siedział na Eclipse.
#cpp #programowanie #visualstudio
def

Nie znam cpp, ale „konstruktor zmiennej” brzmi co najmniej dziwnie

MostlyRenegade

@def bo ten język jest w ogóle dziwny

def

Ale nawet google nie nie wie o konstruktorach zmiennych, chyba, ze autor dokonal tutaj jakiegos skrotu myslowego

krokietowy

Korzystasz z linkera mold? Jest czsami kilka razy szybszy niż ldd czy gnu gold

shiranai

@krokietowy Myślałem o wypróbowaniu innych linkerów, ale biorąc pod uwagę, że GDB czasem mi się wysypuje (czy debuggery debuguje się debuggerami?), to już wolę siedzieć na Visualu. Generalnie działa on całkiem sprawnie, ale widać, że robił go Microsoft - podpowiadanie składni zawsze na pierwszym miejscu daje najgorszą możliwą opcję, dokładnie tak, jak Excel.

groman43

@shiranai Szczerze, jeśli polegasz na takich zależnościach, to na Twoim miejscu zastanowiłbym się, czy to co robisz ma sens.

shiranai

@groman43 Uwierz mi, że przez chwilę nawet się nad tym zastanawiałem.

Używam w swojej grze Lua. Lua pozwala zdefiniować własne funkcje w C i używać ich z poziomu skryptu. Wcześniej każdą zdefiniowaną funkcję musiałem ręcznie dodawać do Lua. Stwierdziłem, ze to za dużo roboty i chcę się pobawić w automatyczne ich dodawanie. Odgapiłem sposób stosowany do testów w Catch2: https://github.com/catchorg/Catch2/blob/v2.x/include/internal/catch_test_registry.h#L106 . Dopiero po fakcie przypomniałem sobie, że z nim też były problemy jeśli testy definiowałem w osobnej libce.

Zaloguj się aby komentować

https://store.steampowered.com/app/2660970/Hypersomnia/

Top down shooter Hypersomnia już na Steam! Pisany przez znajomego, 10 lat w C++ bez silnika, z edytorem map i pikselową grafiką. Gra jest darmowa i open-source, więc jak tylko najdzie ochota na partyjkę jak za czasów 1.6 to jest do pobrania na Steam waży ledwie 40 MB!

Jeśli się podoba to dajcie review na Steam dla zasięgów a jeśli się nie podoba to lepiej nie, hehe

#programowanie #cpp #opensource #gamedev #hypersomnia

Zaloguj się aby komentować

Hejo,

Znajomy wypuszcza gierke na Steama, niedługo będzie dostępna.. Wrzucam trailer do obejrzenia.

FUN FACT: Pisze to w VIM-ie

#programowanie #cpp #opensource #gamedev #hypersomnia

https://www.youtube.com/watch?v=L4zSA34fD_E
koszotorobur

@Hajt

Written in modern C++, without a game engine!

Ke wat?

Pjorun

@koszotorobur pewno chodzi o to, że własny silnik klepnął. W celach edukacyjnych spoko, ale ta gra pewno by na unity ładnie chodziła. Chociaż chyba unity już nie jest fajne, bo kombinują z wydzieraniem kasy od devów. I sumie nie wiem jaka jest alternatywa Pisanie własnego silnika, to jak wypalanie własnych cegieł na budowę domu. Zrobisz sobie cegły jakie chcesz i masz więcej swobody, ale kupne cegły będą tańsze i zrobisz w sumie to samo

koszotorobur

@Pjorun - gra jest Open Source - wszystko ładnie gość wyjaśnił w repo: https://github.com/TeamHypersomnia/Hypersomnia - nie znałem tej gry i jestem pod wrażeniem jego pracy!

Ja już właściwie tylko używam https://godotengine.org/ - w pełni darmowy silnik Open Source - właśnie wyszła wersja 4.2 z wieloma usprawnieniami i nie trzeba płacić haraczu jak za Unity.

Uczę dzieciaki robienia gier na https://gdevelop.io/ skonfigurowanym pod robienie lokalnych buildów na Androida tak, że nie trzeba używać dodatkowych usług chmurowych, które są płatne - sam silnik też jest właściwie darmowy i Open Source i świetnie nadaje się do wprowadzenia w budowanie gier bo buduje się z gotowych klocków i używa wizualnego programowania (dla zaawansowanych jest też pisanie normalnego kodu JavaScript).

koszotorobur

@Hajt - jak to naprawdę Twój kolega to przekaż mu szacuneczek za tworzenie gry przez tyle lat i do tego bez żadnego gotowego silnika!

Zaloguj się aby komentować

#anonimowehejtowyznania

#it #programowanie #programista15k #python #cpp

Zastanawiam się nad przejściem z C++ na Pythona - jest dużo więcej zdalnych ofert, stawki też całkiem niezłe. Czy ktoś z was ma coś podobnego za sobą i może podpowiedzieć jak to wygląda? Co robić w przypadku braku typowo komercyjnego doświadczenia z pythonem? Po prostu wysyłać CV i liczyć, że ktoś mnie zaprosi na rozmowę czy robić jakieś certyfikaty? Mam ~5 lat doświadczenia w it. Początkowo jako support, większość jako software developer - C++, trochę Javy, python na wewnętrzne potrzeby firmy. Do tego sporo pobocznych skilli na umiarkowanym poziomie - m.in.: js, HTML, CSS.

Piszę z anonimowych, bo nie chcę udostępniać sczegółów ze swojego konta.



Kliknij tutaj, aby odpowiedzieć w tym wątku anonimowo
Kliknij tutaj, aby wysłać OPowi anonimową wiadomość prywatną
ID: #655dedb8cf4ac0227e44bf8a
Post dodany za pomocą AnonimoweHejtoWyznania: https://anonimowehejto.pl - Zaakceptowane przez: HannibalLecter
Basement-Chad

W czasach eksplozji LLM'ów to bym się raczej zastanowił nad przejściem z C++ na przykład na budowlankę albo rolnictwo

mroczny_pies

Nie znam Cię, więc nie wiem jak to się ma do Ciebie ale podzielę się swoim doświadczeniem z tych okolic. Pracuję w projekcie gdzie mamy część pythonową (zarządzanie) i cpp (faktyczne mielenie ruchu i danych). Jest duża różnica w myśleniu, postrzeganiu problemów i tworzeniu rozwiązań.

Zarówno ja rozumiem kod cpp, jestem w stanie go poprawić albo zmienić, tak samo inni są w stanie zrozumieć mój kod albo go zmienić. Ale każdy jednak w nie swojej bajce "zrobiłby to inaczej". I wydaje mi się że tutaj jest największy problem takiego przejścia: że nie tylko musisz się nauczyć innych narzędzi ale przede wszystkim zacząć inaczej myśleć

anonimowehejto

OP: @HannibalLecter co do samego języka się zgodzę, ale co z całą resztą? Konkretna dziedzina, frameworki itd. W tej chwili programuję bliżej niż dalej sprzętu, a python to głównie inne tematy - backendy webowe, analiza danych, bazy danych, cloudy itd. Z tym nie mam dużego doświadczenia (ale też nie zerowe).




Ten komentarz został dodany przez osobę dodającą wpis (OP)


Zaakceptował: HannibalLecter

Zaloguj się aby komentować

Hejka naklejka

Zrobiłem libke do łączenia się z wifi na #esp32 . Jest to marna(narazie) podróba wifiManagera od tzapu. Zrobiłem ją tylko dlatego, że tamta działa tylko na arduino-esp32 a moja arduino-esp32 i na czysym espidf framweroku (oraz przez platformio). Narazie mam

  • Odpalanie wifi w trybie AP
  • Serer http ze stroną do podania loginu i hasła do wifi
  • Captive portal ( działa na linux i android, na innych platformach nie testowałem)
  • Zapis i odczy credentiali z pamięci Flash
  • Przejście do trubu STA lub AP_STA ( do wyboru przez uzytkownika)

Moje założenia to:

  • libka ma działać na zasadzie plug and play ( co jest trudne ze względu na kolejny punkt)
  • libka ma być niezależna od frameworku/IDE (nie ważne czy ktoś używa arduino, platformIO czy czystego espidf)

Pytanie:
Jakie dodatkowe funkcjonalności powinienem dodać ? Myślałem nad umożliwieniem dodawania przez użytkownika innych parametrów oprócz SSID i hasła do wifi do stronki i ich zapis. I jeszcze dodać na stonce logger. Czyli okienko gdzie bedą wyświetlać się logi z wykonywania programu bo czasami ktoś może nie mieć dostępu do portu szeregowego żeby je czytać jak urzadzenie gdzieś stoi.

#programowanie #arduino #elektronika #cpp
88ffa8f0-a80c-449c-af94-88c1a5c76a9d
fitoplankton

Nie znam się na ESP, ale czy ten kompilator nie ma stla? Czemu nie korzystasz tutaj z veców i Smart ptrów?

Gitler

@fitoplankton ma i korzystam. Mam ustawiony cpp17 żeby mieć optionale bez konieczności dodawania boosta. Pewnie pijesz do tego new i delete. Otóż funkcje frameworku są napisane w C a nie w cpp. To co widisz na screenie wyżej wygląda teraz tak jak poniżej.

fe3cb080-3241-4846-9e3c-b68dce1b0915
Gitler

@fitoplankton a o wyjątki się nie boje bo te funkcje C nimi nie rzucają dlatego nie muszę stosować RAII

Zaloguj się aby komentować

Kto by pomyślał, że edytor graficzny będzie najlepszym edytorem poziomów: https://www.youtube.com/watch?v=bc4KIikS-94
Na początku sprite w mojej grze były zapisane jako png + xml (animacje, klatki, specjalne punkty). Potem zacząłem używać Aseprite, więc sprite zapisane było jako wyeksportowany png + xml. Ciągłe eksportowanie stało się jednak nudne, więc napisałem sobie importer plików .aseprite, dzięki czemu wszystkie informacje dodatkowe, takie jak specjalne punkty i hitboxy, mogłem odczytywać bezpośrednio z nich.
Mając już doświadczenie w odczytywaniu różnych informacji z Aseprite, pomyślałem: "skoro i tak planuję wszystkie etapy rysować, to czemu by nie odczytywać wszystkiego co się da bezpośrednio ze źródła"? Jak pomyślałem tak zrobiłem, a efekty widać na filmiku. Póki co najbardziej jestem dumny z konwersji pikselowych wielokątów na "wektorowe"
Ps. Nienawidzę robić GUI, ale ImGUI jest na tyle niestandardowy, że aż znośny.

#platformowki #cpp #imgui #sfml #aseprite
mshl

@cremmy kocham cię

Zaloguj się aby komentować

Jakie książki eng / pol do przeczytania z #csharp i #cpp?
#programowanie

Zaloguj się aby komentować

Trochę mnie tu nie było bo musiałem ogarniać swoje żyćko #frens . Ale już mam więcej czasu i biore się za gówno projekty, których mam dużo rozgrzebanych. Poprawiłem dzisiaj ładowanie obrazów na stronie #flutter . Trochę przyspieszyła ale dalej ładuje się o wiele za długo. Wleciała też opcja tworzenia raw stringów dla #cpp. W konsoli widać błędy. Nie ukrywam że web developer ze mnie jak z koziej dupy fujarka ale postaram się je ogarnąć i zopymalizować stronkę, żeby ładowała się poniżej 2s. Uwagi i pomysły na ficzery odnośnie tej stronki mile widziane. Następne moje wpisy pewnie będą dotyczyły wifiManagera do #esp32 i naprawy mojego gnojownika #audi bo mam tam pare pierdół do zrobienia.
https://adampwr.gitlab.io/c_multiline_strigs_generator/#/
#programowanie
563b5f07-6267-4f95-a0ad-b2b1632b514d
senpai

Najlepszą stronkę widziałem kiedyś w django

Gitler

@senpai nie rozumiem. Django to pyhonowy framework do bakendu( chociaż ma coś takiego jak django admin co jest interfejsem do tego). Ta strona nie ma w ogóle backendu.

99527139-95c4-4c14-9733-310c93930896

Zaloguj się aby komentować

Znajomy tworzy grę typu top-down shooter pisaną w C++. Według mnie jest warta uwagi, na początku może wydawać się zbyt dynamiczna ale można przywyknąć, dla zainteresowanych zostawiam kilka linków.
Strona internetowa: https://hypersomnia.xyz/
Kod źródłowy: https://github.com/TeamHypersomnia/Hypersomnia
Discord: https://discord.com/invite/fYe8zkZH
#gamedev #cpp
Wojtas78

Kolorowszy i szybszy Alien Breed? Fajne.

Zaloguj się aby komentować

Też macie wrażenie, że na rynku ofert pracy w #cpp jest totalna posucha ostatnio? Atrakcyjnych ofert do firm produktowych już nie ma a jak chcesz przymknąć oko na niektóre kwestie to znajduje się tylko pojedyncze oferty. Same embedded, automotiv, c++11/14 max, patologiczne firmy, albo projekty to stare himery starsze niż większość użytkowników tego portalu.
Pensje to totalne gówno, takie które parę lat temu uchodziłyby za redflag i lepszy junior mógł je dostać.
Byłem na niektórych rozmowach i nawet po pozytywnym feedbacku kontakt się potem urywał, albo psie pensje. Pewnie jest tez ogromny spam CV.
Mam prawie 4lata doświadczenia i na mida znaleźć 20k brutto to jest ultra szczęście gdzie dawniej była to norma.
Też macie takie wrażenie? Nawet w innych technologiach?
#programowanie #narzekambolubie
JakTamCoTam

@MauveVn nawet gdybyś miał rację to zdrowy człowiek nie napisałby to w takiej toksycznej formie jakiej Ty napisałeś. Ogarnij swoją frustrację najpierw.

WolandWspanialy

@JakTamCoTam Zgadzam się chociaż specjalizacja trochę inna, jest posucha jeżeli chodzi o naprawdę fajne oferty.

Tego trolla mauvevn olej i nie reaguj.

Duch.

@JakTamCoTam moze czas na zmiane jezyka na C# albo Java? Tu ofert jest zauwazalnie wiecej. Ew. mozesz pomyslec o B2B. I tak o emeryturze w PL mozna zapomniec, a chociaz sam z roznicy bedziesz mogl odlozyc.

Zaloguj się aby komentować

Mireczki, jak w tym pierdolonym visual studio code kompilowac w C++? MinGW zainstalowane dawno temu, cos sie zjebalo po zainstalowaniu cliona.
#programowanie #naukaprogramowania #vscode #clion #jetbrains #cplusplus #cpp
e28e434e-d7ba-4868-a80f-c7a292c9db49
miej_nos_na_pol_mordy

@schweppess No wlasnie. Instalacja na czysto vsc nie pomaga, zmienne srodowiskowe nie tkniete, C/C++ do vsc doinstalowane, nie widac efektow, mam dosyc

miej_nos_na_pol_mordy

@schweppess doinstalowalem g++ i dziala

cec

@miej_nos_na_pol_mordy polecam ogarnąć CMake

Zaloguj się aby komentować

Siema.
Wie ktoś może jak przechwytywać wszystkie powiadomienia z różnych aplikacji na Windows'ie?
Szukałem w internecie ale nic nie mogłem znaleźć...
#programowanie #programista15k #windows #csharp #cpp
def

@kiko I raczej nic nie znajdziesz, jeśli chodzi o powiadomienia systemowe, to wątpię, żeby było tutaj jakieś api dostępu do powiadomień z innych aplikacji

kiko

@def kurde trochę szkoda...

Zaloguj się aby komentować

piotrb

@wrazik Pusta pętla w cpp to UB

Gdzie to jest zapisane?

wrazik

@piotrb https://en.cppreference.com/w/cpp/language/for

"As part of the C++ forward progress guarantee, the behavior is undefined if a loop that has no observable behavior (does not make calls to I/O functions, access volatile objects, or perform atomic or synchronization operations) does not terminate. Compilers are permitted to remove such loops. "

piotrb

@wrazik Tylko to jest bardzo kontrintuicyjne, wywołanie funkcji, która nigdzie nawet nie była wywoływana. Ja oczywiście jestem daleki od używania jakichkolwiek UB w kodzie, ale taka akcja to prawie jak meteoryt.

Zaloguj się aby komentować

Następna