Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #31929
| From | bartekltg <bartekltg@gmail.com> |
|---|---|
| Newsgroups | pl.comp.programming |
| Subject | Re: g++ debug bez inicjalizacji pamięci |
| Date | 2018-11-01 15:59 +0100 |
| Organization | ATMAN - ATM S.A. |
| Message-ID | <prf4dd$nac$1@node2.news.atman.pl> (permalink) |
| References | <2d28eae2-6996-4a78-a3ae-a0aec84a1a04@googlegroups.com> <1955d2cc-8d0c-4eae-b9b9-611430b20aae@googlegroups.com> <2a9826bb-a908-43ee-bc3b-073287ad720b@googlegroups.com> <prdmc9$e8b$1@node2.news.atman.pl> <9f406662-30cc-4e29-8166-89ee3e2123be@googlegroups.com> |
On 01.11.2018 08:33, szykcech@gmail.com wrote: >>>>> Chodzi o to, że wersja debug ma inicjalizowaną pamięć zerami, a wersja release nie. >>>> >>>> Ale jaka pamięć (nie) jest inicjalizowana zerami? Chodzi o obiekty statyczne (w tym globalne), czy dynamiczne? >>> >>> G++ w wersji debug automatycznie inicjalizuje alokowaną pamięć zerami. G++ nie robi tego w wersji release >> >> Wydaje mi się, że Maciejowi chodziło o co innego: >> >> Co robisz, że używasz jakiejś pamięci, której nie dotknął >> konstruktor jakeigoś obiektu. > > Głowny problem w tym programie to wskaźniki i zmienne typu int (i ich warianty). Wskaźniki globalne i w klasach wyszukałem i zainicjalizowałem. Wskaźniki to ogolnie coś, czego powinno się unikać w c++, ale rozumiem, ujowo napisana biblioteka do raspi w stylu procków embended 4kB ramu:-) Podobnie globalne... Może da się tego pozbyć;-) >Jednak problem może dotyczyć zmiennych lokalnych. >Wygląda nato, że w wersji debug są inicjalizowane przez kompilator, > a w wersji release nie... I ja chcę by w wersji debug nie były > inicjalizowane - by szybciej znaleźć błąd. Nie deklaruj zmiennych bez przypisania. Jeśli się nie da, a chcesz wyłapać (bez debugera;p) użycie wskażnika bez zainicjalizoanej wartości, inicjalizuj je na wartość, które na pewno wywali program. No, chyba, że przewidujesz, żę wskaźnik możę na nic nie pokazywać w trakcie działąnia praogramu i wszędzie sprawdzasz, czy nie jest nulem, to wtedy ręcznie inicjalizuj go na null. Ale IMHO to prawie zawsze gorsze rozwiazanie pzdr bartekltg
Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
g++ debug bez inicjalizacji pamięci szykcech@gmail.com - 2018-10-30 12:43 -0700
Re: g++ debug bez inicjalizacji pamięci Maciej Sobczak <see.my.homepage@gmail.com> - 2018-10-30 23:57 -0700
Re: g++ debug bez inicjalizacji pamięci szykcech@gmail.com - 2018-10-31 09:21 -0700
Re: g++ debug bez inicjalizacji pamięci szykcech@gmail.com - 2018-10-31 09:25 -0700
Re: g++ debug bez inicjalizacji pamięci bartekltg <bartekltg@gmail.com> - 2018-11-01 02:54 +0100
Re: g++ debug bez inicjalizacji pamięci szykcech@gmail.com - 2018-11-01 00:33 -0700
Re: g++ debug bez inicjalizacji pamięci bartekltg <bartekltg@gmail.com> - 2018-11-01 15:59 +0100
Re: g++ debug bez inicjalizacji pamięci Wojciech Muła <wojtek.mula@gmail.com> - 2018-10-31 10:06 -0700
Re: g++ debug bez inicjalizacji pamięci szykcech@gmail.com - 2018-10-31 10:19 -0700
Re: g++ debug bez inicjalizacji pamięci Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-21 05:17 -0800
csiph-web