Article View: pl.comp.lang.c
Article #310518Re: stała mapa enum -> wartość
From: JDX
Date: Mon, 11 Mar 2024 16:18
Date: Mon, 11 Mar 2024 16:18
31 lines
2532 bytes
2532 bytes
On 11.03.2024 16:34, heby wrote:
> On 11/03/2024 01:03, Jacek Marcin Jaworski wrote:
>> Konwertery i generatory to standard i właściwe rozw. (przede wszystkim
>> ekonomiczne i skuteczne, bo robią co trzeba). Normalnie koduje je się
>> jako pierwsze przy rozp. nowego proj.
>
> Tutaj muszę wygenerować jednorazowo 256 bajtów. Pisanie do tego
> "generatora" jest mało sensowne.
Nie bardzo rozumiem w czym jest problem. Tzn. rozumiem, że funkcję
Bar = f(Foo) masz już gdzieś jakoś zdefiniowaną/opisaną (np. na kartce
papieru czy wewnątrz funkcji getBarFromFoo()). W czym więc problem, aby
jednorazowo przepisać („wygenerować”) tę funkcję do pliku .cpp
zawierającego np. coś w stylu:
const Bar foo2bar[256] = { /* opcjonalnie „static const” */
Bar(7),
Bar(2),
(Bar)0, /* 0 -> wartość „niezdefiniowana */
Bar(1),
...
};
Zakładam, że bar jest typem typu POD.
Taka tablica powinna wylądować w sekcji .rodata (mówimy oczywiście o
jedynie słusznym gcc), która na platformie klasy „mały embedded” powinna
z kolei wylądować we Flashu.
Ewentualnie, aby nie było żadnych wątpliwości, należy pobawić się z
__attribute__ ((section ("nazwa sekcji")))
(https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html) i
domyślnie używanym skryptem linkera (być może wystarczy go przeczytać,
niekoniecznie modyfikować).
Technical Details
Message-ID:
<usnat5$dmp$1$jdx@news.chmurka.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.ip-94-42-224-83.multimo.pl!not-for-mailReferences:
<usk0pv$2tak9$1@dont-email.me> <uslhop$tf6$1$Jaworski@news.chmurka.net> <usn89d$3me9n$1@dont-email.me>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.ip-94-42-224-83.multimo.pl!not-for-mail From: JDX <jdx@onet.pl> Newsgroups: pl.comp.lang.c Subject: Re: stała mapa enum -> wartość Date: Mon, 11 Mar 2024 17:18:45 +0100 Organization: N/A Message-ID: <usnat5$dmp$1$jdx@news.chmurka.net> References: <usk0pv$2tak9$1@dont-email.me> <uslhop$tf6$1$Jaworski@news.chmurka.net> <usn89d$3me9n$1@dont-email.me> NNTP-Posting-Host: ip-94-42-224-83.multimo.pl MIME-Version: 1.0 Injection-Date: Mon, 11 Mar 2024 16:18:45 -0000 (UTC) Injection-Info: news.chmurka.net; posting-account="jdx"; posting-host="ip-94-42-224-83.multimo.pl:94.42.224.83"; logging-data="14041"; mail-complaints-to="abuse-news.(at).chmurka.net" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:Oz7DKfeDdg7r8APWRCHOikY5wSU= sha256:Kuzoog3K3zS9pLavnBehxjkrhAwiJYQ6xjBU6yRJaQQ= sha1:z2H+QJ/o8EBTW1JsRlRdVHq9znU= sha256:X7wNyIBnIbDz7V5T0h2R0m9+5endHC9W4V/J4DCToqw= In-Reply-To: <usn89d$3me9n$1@dont-email.me> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit