Jak zapewne wiesz, możemy użyć GDB i ustawić punkty przerwania w naszym kodzie, aby wstrzymać wykonywanie w celu debugowania. Moje pytania dotyczą tego, w jaki sposób GDB wstrzymuje proces i pozwala na przeglądanie zawartości rejestrów, i rna przykład przy użyciu . Czy te rejestry nie są stale używane przez inne …
Używam C ++ na ESP-32. Przy rejestracji timera muszę to zrobić: timer_args.callback = reinterpret_cast<esp_timer_cb_t>(&SoundMixer::soundCallback); timer_args.arg = this; Tutaj dzwoni zegar soundCallback. I to samo podczas rejestracji zadania: xTaskCreate(reinterpret_cast<TaskFunction_t>(&SoundProviderTask::taskProviderCode), "SProvTask", stackSize, this, 10, &taskHandle); Tak więc metoda jest uruchamiana w oddzielnym zadaniu. GCC zawsze ostrzega mnie przed tymi konwersjami, ale działa …
Korzystam z biblioteki wewnętrznej, która została zaprojektowana tak, aby naśladować proponowaną bibliotekę C ++ , a czasami w ciągu ostatnich kilku lat widzę, że jej interfejs zmienił się z używania std::stringna string_view. Dlatego sumiennie zmieniam kod, aby dostosować się do nowego interfejsu. Niestety, muszę przekazać parametr std :: string i …
Wyjątkiem isocpp.org FAQ Zjednoczone Nie używaj rzutu, aby wskazać błąd kodowania podczas używania funkcji. Użyj aser lub innego mechanizmu, aby albo wysłać proces do debugera, albo zawiesić proces i zebrać zrzut awaryjny dla programisty do debugowania. Z drugiej strony standardowa biblioteka definiuje std :: logic_error i wszystkie jego pochodne, które …
Powiedzmy, że mam klasę, Foobarktóra używa (zależy od) klasy Widget. W Widgetdawnych czasach wolud może być zadeklarowany jako pole Foobar, a może jako inteligentny wskaźnik, jeśli zachodzi potrzeba zachowania polimorficznego, i zostanie zainicjowany w konstruktorze: class Foobar { Widget widget; public: Foobar() : widget(blah blah blah) {} // or std::unique_ptr<Widget> …
Odpowiedź na pytanie, dlaczego umieszczamy prywatne zmienne składowe w nagłówkach C ++, jest taka, że rozmiar klasy musi być znany w punktach, w których deklarowane są instancje, aby kompilator mógł wygenerować kod, który odpowiednio porusza się po stosie. Dlaczego musimy umieszczać prywatnych członków w nagłówkach? Ale czy istnieje jakikolwiek powód …
W C ++ funkcje takie jak wyjątki wpływają na cały program: możesz je wyłączyć w całym programie lub musisz postępować z nimi w całym kodzie. W słynnym artykule na temat C ++ Report : Wbrew intuicji, trudną częścią kodowania wyjątków nie są jawne rzucanie i łapanie. Naprawdę trudną częścią korzystania …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 4 lata temu . Pisałem C ++ intensywnie między 8 a 10 lat temu. Od tego czasu przeszedłem do C # z powodów …
W pokrewnym pytaniu wyjaśniono, dlaczego C ++ nie jest kompatybilny z C w wielu aspektach. Jednak C ++ jest nadal językiem „hybrydowym” *. I niestety wielu programistów nadal uważa C ++ za „C ze strumieniami i wbudowanymi łańcuchami”. Powoduje to naprawdę źle napisany kod, który nie jest ani C ++ …
Aplikacje Windows pracuję w C ++ od około 10 lat. Niedawno zacząłem zagłębiać się w niektóre projekty Linuksa i nie mogę znieść, jak jestem nieproduktywny ... Szybko się uczę i od pewnego czasu używam Linuksa jako podstawowej platformy. Czuję się bardzo dobrze z powłoką, zasadami systemu operacyjnego i graficznym interfejsem …
W wolnym czasie opracowuję emulator NES. Używam C ++, ponieważ jest to język, którego najczęściej używam, znam głównie i lubię najbardziej. Ale teraz, kiedy poczyniłem pewne postępy w projekcie, zdaję sobie sprawę, że nie używam prawie żadnych konkretnych funkcji C ++ i mogłem to zrobić w zwykłym C i uzyskać …
Boost został niedawno udostępniony w projekcie, nad którym pracuję, i nie mam z nim dużego doświadczenia. Biblioteka ma tak wiele części i funkcji, że trudno jest wiedzieć, od czego zacząć ją uczyć - zwłaszcza, że będę się jej uczył podczas tworzenia kodu produkcyjnego (więc nie może mnie to zbytnio spowolnić). …
Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Co różni się między „pisaniem konkretnego środowiska JRE dla każdej platformy” dla programistów Java a „pisaniem kompilatora C ++ dla każdej platformy” dla programistów C …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
Uczę się C ++ i używam g ++ na Linuksie do ćwiczeń. Chcę wiedzieć, czy ludzie pracujący jako programiści używają flagę g ++ -antic, a także jej znaczenie w świecie rzeczywistym. Co z innymi kompilatorami, czy one również na to pozwalają? Czy stało się to de facto standardem? Interesuje mnie …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.