eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[OT] Zarządzanie konfiguracją modułów kodu źródłowegoRe: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.n
    eostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    Date: Sun, 06 May 2012 21:32:03 +0200
    From: mk <reverse_lp.pw@myzskm>
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
    MIME-Version: 1.0
    Newsgroups: pl.misc.elektronika
    Subject: Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
    References: <o...@j...jedi> <jo5tgs$asd$1@inews.gazeta.pl>
    <o...@j...jedi> <jo5vi6$g9s$1@inews.gazeta.pl>
    <o...@j...jedi>
    <4fa696e8$0$1312$65785112@news.neostrada.pl>
    <jo65o7$oc$1@inews.gazeta.pl>
    <4fa6a448$0$26682$65785112@news.neostrada.pl>
    <jo6ann$crm$1@inews.gazeta.pl>
    In-Reply-To: <jo6ann$crm$1@inews.gazeta.pl>
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Lines: 53
    Message-ID: <4fa6d1b3$0$26685$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 178.42.199.30
    X-Trace: 1336332724 unt-rea-a-01.news.neostrada.pl 26685 178.42.199.30:2675
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:630710
    [ ukryj nagłówki ]

    W dniu 2012-05-06 19:00, Sebastian Biały pisze:
    > On 2012-05-06 18:18, mk wrote:
    >>> Nie. plik lokalny dla projektu nadpisuje parametry domyślne.
    >> Używając #undef???
    >
    > Uzywając def.
    >
    > Np. tak:
    >
    > default-config: #define UART_STOP_BITS 1
    >
    > project-config: #include "default.h", #define UART_STOP_BITS 2

    Redefiniowanie makra nową wartością jest nielegalne!!!

    >
    >> IMO zdecydowanie lepsze jest jednak włączenie najpierw pliku z
    >> konfiguracją użytkownika, a potem nagłówek z konfiguracją domyślną -- to
    >> zresztą powszechna praktyka.
    >
    > Zdecydowana lepszośc tutaj dyskusyjna. Oba rozwiązania działają.

    Jak gdzie (patrz wyżej).
    Można by odwołać jak wspomniałem z użyciem #undef, ale użycie #undef
    jest niezgodne np. z MISRA-C i w ogóle niepotrzebnie zaciemnia plik
    konfiguracji użytkownika.

    >
    >> Plik nagłówkowy "defaultconfiguration.h" nie definiuje parametrów już
    >> zdefiniowanych (#ifndef), a jedynie te które jeszcze nie zostały
    >> zdefiniowane nadając im wartości domyślne (+ ewentualnie jakiś komunikat
    >> przy pomocy #warning), obliczając je (np. na podstawie parametrów
    >> podanych przez użytkownika) lub walnąć błędem (#error) jeśli parametr ma
    >> być obligatoryjne określony przez użytkownika.
    >
    > W drugą stronę działa to tak samo (nie)skutecznie bez #ifndef, kwestia
    > implementacji.

    Niezgodne ze standardem.

    > IMO to nie konfiguracja powinna szukać bledów w #define i wyliczać
    > pośrednie parametry tylko implementacja.

    To zależy i to już trochę inny temat... część rzeczy można i należy
    sygnalizować już na wczesnym etapie rozpoznania konfiguracji użytkownika
    np. zgodność wersji modułu bibliotecznego i jej użytkownika, czy wiele
    innych parametrów o globalnym charakterze.
    Rozmowa na temat czy "default.h" należy czy nie należy do implementacji
    jest również czysto akademicka, tak jak i gdzie najlepiej określać
    parametry default.

    pzdr
    mk

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: