eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDziwny problem z kodem w C (gcc mips/pic32)Re: Dziwny problem z kodem w C (gcc mips/pic32)
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.aabj109.neoplu
    s.adsl.tpnet.pl!not-for-mail
    From: "J.F" <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Dziwny problem z kodem w C (gcc mips/pic32)
    Date: Fri, 19 May 2023 17:35:37 +0200
    Organization: news.chmurka.net
    Message-ID: <rtiszuef0xpp$.15wa1gq4oc00s$.dlg@40tude.net>
    References: <a...@n...icm.edu.pl>
    <u44i3o$css$1$Janusz@news.chmurka.net>
    <a...@n...icm.edu.pl>
    <u44vfs$lla$1$Janusz@news.chmurka.net>
    <euc9wpavjaek$.1ud2an3ug601i.dlg@40tude.net>
    <u47qkf$g6n$3$Janusz@news.chmurka.net>
    <1n7r9mmnvljlx$.1jfideb1i3wtk.dlg@40tude.net>
    <u4844m$ltg$1$Janusz@news.chmurka.net>
    NNTP-Posting-Host: aabj109.neoplus.adsl.tpnet.pl
    MIME-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    Injection-Info: news.chmurka.net; posting-account="jfoxwr";
    posting-host="aabj109.neoplus.adsl.tpnet.pl:83.4.35.109";
    logging-data="23009";
    mail-complaints-to="abuse-news.(at).chmurka.net"
    User-Agent: 40tude_Dialog/2.0.15.1
    Cancel-Lock: sha1:4zg6PovxtobhLo8K3RVSuFPia+k=
    sha256:G1g4VJISDKUPFfkjjZMXV6yMEXiuzxPVs+z3tu9ebvs=
    sha1:CAjQ+RLN8gAoXPuhto6gHhmKREc=
    sha256:6bJGhUEu6GElDugeAttrs4VROLFZ61+MhRiPvg6Sn8M=
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:780725
    [ ukryj nagłówki ]

    On Fri, 19 May 2023 17:21:59 +0200, Janusz wrote:
    > W dniu 19.05.2023 o 15:56, J.F pisze:
    >> On Fri, 19 May 2023 14:39:44 +0200, Janusz wrote:
    >>> W dniu 19.05.2023 o 13:32, J.F pisze:
    >>>> On Thu, 18 May 2023 12:44:11 +0200, Janusz wrote:
    >>>>> W dniu 18.05.2023 o 12:18, Marek pisze:
    >>>>>> On Thu, 18 May 2023 08:55:51 +0200, Janusz <j...@o...pl> wrote:
    >>>>>>> Dla mnie trochę dziwny jest ten fragment, reason-nie wykorzystana
    >>>>>>> zmienna a komunikat (z tablicy)  dwa razy wywołujesz ten sam, zmienna
    >>>>>>> status.
    >>>>>>
    >>>>>> Kod na potrzeby posta trochę uprościłem. Znalazłem dziada:
    >>>>>>
    >>>>>> unsigned short BT[300];
    >>>>>> int i;
    >>>>>>
    >>>>>> for (i=0; i<sizeof(BT);i++)
    >>>>>>   BT[i] = getval(i);
    >>>>>>
    >>>>>> Analizując mapę linkera widać, że BT była umieszczona tuż przed tamtą
    >>>>>> tablicą ze wskaźnikami do stringów.
    >>>>> No i co z tego, przecież to dwie osobne tablice i osobno się adresują i
    >>>>> chyba kompilator czy linkier nie ma tu błędu w adresacji?
    >>>>
    >>>> Tablice moze i osobne, ale jak przekroczysz rozmiar BT, to trafi nie
    >>>> wiadomo gdzie.
    >>> Ale przecież po to używa funkcję czy co to tam jest żeby mu policzyło
    >>> długość tablicy, na palcach jej nie liczył, a że funkcja skopana to
    >>> wychodzą kwiatki.
    >>
    >> No ale widzisz - źle policzył, przekroczyl zakres,
    > On czy funkcja?

    On.

    >> a C NIE MA ZABEZPIECZEN.
    > To wiadomo, po to użył funkcję.
    >
    >> I w miare dobrze, ze nie ma.
    >> A funkcja dobra, tylko źle użyta.
    > No nie, jest skopana skoro działa wybiórczo.
    > A Ty wiedziałeś przed tym wątkiem że taki problem istnieje?

    Jaki problem?
    że sizeof zwraca, a własciwie to podaje, rozmiar w bajtach, to wiem.

    że można zajechac obszar innej zmiennej w C, i nic przed tym nie
    ostrzeże - to też wiem.

    Markowi pogratulować, ze tak szybko namierzył miejsce problemu.

    >> A tu jeszcze co chwila cos nowego wymyślaja i zaskakują człowieka na
    >> stare lata ... i to w szczegółach, bo w ogółach to za tym postępem
    >> trudno nadążyć :-(
    > Ja akurat jestem 'techniczny' więc w miarę nadążam.
    > Ostatnio zamiast W7 bo mnie wkurzał zainstalowałem Ubuntu 22 LTS, a W7
    > postawiłem na wirtualce po to żeby odpalić na nim Avr Studio 7 i Kicada
    > 5 i coś tam jeszcze chodzące na windzie.

    A wiesz, ze juz jest W11 ? :-)

    J.

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: