eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingg++ debug bez inicjalizacji pamięci › Re: g++ debug bez inicjalizacji pamięci
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
    OSTED!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: g++ debug bez inicjalizacji pamięci
    Date: Thu, 1 Nov 2018 15:59:57 +0100
    Organization: ATMAN - ATM S.A.
    Lines: 41
    Message-ID: <prf4dd$nac$1@node2.news.atman.pl>
    References: <2...@g...com>
    <1...@g...com>
    <2...@g...com>
    <prdmc9$e8b$1@node2.news.atman.pl>
    <9...@g...com>
    NNTP-Posting-Host: 89-70-113-215.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1541084398 23884 89.70.113.215 (1 Nov 2018 14:59:58 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Thu, 1 Nov 2018 14:59:58 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
    Thunderbird/52.9.1
    In-Reply-To: <9...@g...com>
    Content-Language: en-GB
    Xref: news-archive.icm.edu.pl pl.comp.programming:212839
    [ ukryj nagłówki ]

    On 01.11.2018 08:33, s...@g...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


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: