-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED.37-128-16-142.adsl.inetia.pl!no
t-for-mail
From: io <i...@o...pl.invalid>
Newsgroups: pl.misc.elektronika
Subject: Re: Dziwny problem z kodem w C (gcc mips/pic32)
Date: Wed, 24 May 2023 11:16:31 +0200
Organization: ICM, Uniwersytet Warszawski
Message-ID: <u4kklq$23acj$1@news.icm.edu.pl>
References: <u44i3o$css$1$Janusz@news.chmurka.net>
<1n7r9mmnvljlx$.1jfideb1i3wtk.dlg@40tude.net>
<u4844m$ltg$1$Janusz@news.chmurka.net>
<rtiszuef0xpp$.15wa1gq4oc00s$.dlg@40tude.net>
<u48fof$sii$1$Janusz@news.chmurka.net>
<a...@n...icm.edu.pl>
<u49s6u$q89$1$Janusz@news.chmurka.net>
<a...@n...icm.edu.pl>
<u4a34r$tmk$1$Janusz@news.chmurka.net>
<u4a9ch$10h$1$grzegorz@news.chmurka.net>
<u4ab0s$1t2$1$Janusz@news.chmurka.net>
<u4afc0$4ad$1$grzegorz@news.chmurka.net> <u4b7p6$1j7m6$3@news.icm.edu.pl>
<90dql20u82tc.fnrqd8gmq8nh$.dlg@40tude.net>
<u4fjtn$25f5e$1@dont-email.me> <d2a2opi2cqx.dpbk606pibnh$.dlg@40tude.net>
<u4fmll$25qd5$1@dont-email.me>
<13gsg2icl2peg.ptxnu29vcxr9$.dlg@40tude.net>
<u4fsru$26eq7$1@dont-email.me>
<mwxft3rl50ae$.ikk8r2nn1eah$.dlg@40tude.net>
<u4g59l$27b12$1@dont-email.me>
<1wqspnfzcove6.972kq4b2otw1$.dlg@40tude.net>
<u4gjcj$28pp7$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 24 May 2023 09:16:42 -0000 (UTC)
Injection-Info: news.icm.edu.pl;
posting-host="37-128-16-142.adsl.inetia.pl:37.128.16.142";
logging-data="2206099"; mail-complaints-to="u...@n...icm.edu.pl"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Content-Language: pl
In-Reply-To: <u4gjcj$28pp7$1@dont-email.me>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:780845
[ ukryj nagłówki ]W dniu 22.05.2023 o 22:29, heby pisze:
> On 22/05/2023 21:30, J.F wrote:
...
>
>>>>> W dodaku działa tak samo dobrze dla tablic i dla znacznie bardziej
>>>>> skomplikowanych kontenerów czy nawet głupich stringów.
>>>> stringa powiadasz ... bajtowego, unicode, utf-8 ? :-P
>>> C++ nie wspiera UTF-8. Nie wspiera też Mazovii ani ATASCI.
>> Ale programy wymagają UTF-8.
>
> I dlatego możesz wybrać Qt, które używa natywnie UTF-16 i potrafi, jesli
> potrzebujesz, policzyć ile jest tam *znaków* jak również przemieszczać
> się między UTF-8. Tylko że od razu mówię, że policzenie ilosci znaków w
> UTF to zagadnienie na habilitację. Nie bez powodu jest skomplikowane a
> zdaje się że w kilku wypadkach (bodaj Koreański) mocno mętne.
> QTextBoundaryFinder.
>
> Innymi słowy, jeśli masz zagadnienia związane z tekstem UTF, to masz
> zagadnienia związane z jego wyświetlaniem, a to jest cecha biblitek
> graificznych, nie C++. C++ nie posiada w standardzie nic [G]UIowego.
Zagadnienie analizy tekstu nie ma nic do jego prezentacji. Możesz mieć
urządzenie embeeded, które niczego nie wyświetla a tylko umie parsować
łańcuchy znaków.
>
>>> U mnie true i false są zdefiniowane przez standard.
>> W C/C++
>> A to moze być np program do komunikacji z czytnikiem kart bankowych.
>
> Wtedy masz połaczenie z hardware i wtedy piszesz translator z
> hardwarowego true na softwareowy true.
>
> Reszta algorytmini nie powinna nic wiedzieć o jakims hardware, a
> prawidłowo napisana powinna dać się uruchmić i przetestować bez hardware.
true/false to wartości logiki jaką wyraża język a nie kwestia sprzętu.
>
>>> Patrz, jeszcze jeden powód żeby porzucić guano C.
>> Przeciez w C tez są zdefiniowane przez standard.
>> Tylko trochę słabo.
>
> C nie wspiera typu bool. Różne OSy różnie definiują TRUE/FALSE.
> Napisanie w tym bałaganie generycznego/przenośnego algorytmu jest
> utrudnione.
>
> Prawie każda przenośna bibliteka, z korzeniami w C, redefiniuje wszstko.
> To świadczy o tym, jak kiepski to język, skoro nawet podstawowe typy nie
> mają sensownie okreśonych sizeof i trzeba to łatać ręcznie.
Nie bardzo. To jest kwestia właśnie tego, że język programowania
niekoniecznie musi cokolwiek wiedzieć o konkretnych typach danych. Bo w
środowisku embedded może nie być żadnych łańcuchów znaków i bibliotek do
ich prezentacji. A w środowisku systemu operacyjnego raczej na pewno
będą. Raczej nie ma sensu by język nie mógł wyrażać logiki. No ale to
może tyle, że nie jest to kwestia jaką wartość numeryczną przypisujemy.
>
>> Albo lepiej niz w C++, bo brak wartosci nieokreślonych :-)
>
> A są jakieś nieokreslone wartości bool?
>
> Jak chcesz świadomie, to w boost jest tribool. On ma trzecią wartość,
> niezdefiniowaną.
Ale to każdy typ danych może mieć niezdefiniowaną wartość. Z językowego
puntu widzenia są odpowiednie konstrukcje językowe co raczej nie mapuje
się automatycznie do sprzętu.
Następne wpisy z tego wątku
- 24.05.23 11:53 heby
- 24.05.23 12:45 Janusz
- 24.05.23 12:46 heby
- 24.05.23 13:38 Janusz
- 24.05.23 13:48 heby
Najnowsze wątki z tej grupy
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO