-
Data: 2012-05-07 21:42:46
Temat: Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
Od: Paweł <r...@1...0.0.1> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Andrzej Ekiert wrote:
> Dnia 06-05-2012 o 15:15:04 Sebastian Biały <h...@p...onet.pl>
> napisał(a):
>
>> Zapropnuje sposób trywialny, być może akurat będzie w sam raz:
>>
>> *** i2cdriver.c ***
>>
>> #include "i2cconfiguration.h"
>> #include "../lib/i2c/i2ccore.c"
>> #include "../lib/i2c/i2chardware.c"
>>
>> *** i2cdriver.h ***
>>
>> #include "i2cconfiguration.h"
>> #include "../lib/i2c/i2cinterface.h"
>>
>> Plik i2cconfiguration.h jest częscią konkretnego projektu, podobnie jak
>> i2cdriver.c.
>>
>> I tyle. W i2cconfiguratiion stado #define per projekt. W plikach lib/i2c
>> (h i c) od groma #ifdef na każdy wariant.
>>
>
> Ale to mi w żaden sposób nie dotyka mojego problemu. Jeśli odwołam się w
> "../lib/i2c/i2ccore.c" do nowego parametru konfiguracyjnego C_I2C_SHMOO,
> to muszę go ręcznie zdefiniować w każdym i2cconfiguration.h w każdym
> projekcie. Jeśli zmienię nazwę i trochę funkcje parametru C_I2C_FOO na
> C_I2C_BAR, to znowu zmiana w każdym projekcie. Chodzi mi o sposób lub
> narzędzie do automatyzacji takich zmian: wykrywanie niedodanych definicji,
> eliminację przestarzałych definicji, itp.
>
> Samo definiowanie konfiguracji per-projekt i jej #include w plikach
> biblioteki to mam rozwiązane w miarę elegancko. Boli mnie tylko potrzeba
> ręcznego czyszczenia konfiguracji per-projekt w wypadku zmian w opcjach
> oferowanych przez bibliotekę.
czasami w przypadku koniecznosci zachowania wstecznej kompatybilnosci
biblioteki stosuje sie w c++ namespace-inlining (a w c wersjonowanie
symboli na poziomie skryptu gnu/linkera).
na zalaczonym przykladzie masz w bibliotece obslugujacej costam
wersje v1, ktora byla na poczatku wszechswiata :) potem programista
wpadl na pomysl by rozwiazanie ulepszyc i dodal wersje v2,
ale, ze lubil uzytkownikow, to nie chial ich zmuszac do poprawiania
w starych projekatach wszystkich wywolan api i za pomoca prostego
#define USE_LEGACY w aktualnej wersji biblioteki udostepnia stary
interfejs/implementacje. autor biblioteki wewnetrznie (w lib.cpp)
juz sobie rozwizuje problem jak stare api przempowac na aktualna
implementacje, a uzytkownicy sa szczesliwi.
Następne wpisy z tego wątku
- 07.05.12 22:46 RoMan Mandziejewicz
- 08.05.12 07:56 Paweł
- 08.05.12 08:50 RoMan Mandziejewicz
- 08.05.12 15:13 janusz_kk1
- 09.05.12 09:07 Artur M. Piwko
- 09.05.12 10:03 janusz_kk1
- 25.05.12 16:09 Artur M. Piwko
Najnowsze wątki z tej grupy
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
- NETIA i hasło logowania
- Modulacja FM
- Najgorszy język programowania
- Kol. sukces po polsku: firma Szumisie sp. z o.o.
- Chińska Telefonia 6G - Chcą Nas Sterować Elektrycznie - Jak Kukiełki w Teatrze Lalek!!!
- RS-485 ale automatycznie dwukierunkowy
- Leżakujące SSD gubią po roku dane
- kolorowy e-paper
- Sterownik kotła CO praca PWM
- Jakie baterie A23 i LR44?
- OLED SSD1306 - degradacja?
- Który symulator AVR jest ,,prawilny"?
Najnowsze wątki
- 2025-12-12 Białystok => Programista React ze znajomością C++ <=
- 2025-12-12 Warszawa => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-11 To już efekt Żurka czy coś jeszcze GORSZEGO?
- 2025-12-11 Policjanci w mieście Łodzi zmierzą ci prędkość z błędem mniejszym niż producent w laboratorium :-)
- 2025-12-11 Warszawa => Senior Java Developer <=
- 2025-12-11 Kolejny prezent
- 2025-12-10 hameryka
- 2025-12-10 Tak im zależy na wlasnym kraju. :-(
- 2025-12-10 Czy "hipoteka przymusowa" podpada (powinna podpadać) pod ochronę immunitetem poselskim? [Ziobro]
- 2025-12-10 Żurek po raz kolejny wykazał jaki poziom reprezentuje
- 2025-12-10 Gdańsk => Microsoft Dynamics AX/365 SCM Consultant - Service & Suppor
- 2025-12-10 Rzeszów => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-12-10 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-12-10 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-12-10 Przekroczenie uprawnien




2035 rok coraz mniej realny? Europa traci tempo w wyścigu o elektromobilność