[OSy] mutex5 test a DEBUG_MUTEX

Rastislav Wartiak rastik at tereus.eu
Thu Nov 1 00:24:39 CET 2007


Není to moc komplikované? Honza tady napsal hezký způsob jak to lze  
dělat. Jelikož #define je na straně volajícího, tak i rozhodnutí o tom  
co dělat (tj. kterou funkci volat) je dobré nechat tam.

RW

> Zdravim
>
> technicka otazka:
> symbol DEBUG_MUTEX je nadefinovany v subore test.c a za nim nasleduje
> #include assignement.h, v ktorom su naincludovane vsetky nase
> hlavickove subory.
> V mutex.h si "stav" DEBUG_MUTEX "zapametam" pomocou nejakeho
>
> #ifdef DEBUG_MUTEX
> 	#define TMP DEBUG_MUTEX
> #else
> 	#define TMP 0
> #endif
>
> v mutex.c sa pozriem na hodnotu TMP a na zaklade nej rozhodnem o   
> dalsej akcii.
> Problem je, ze v pripade ze symbol DEBUG_MUTEX je alebo nie je
> definovany(v test.c), tak sa TMP v mutex.c nikdy nerozvinie na 1,
> stale len na 0.
> Je nejaky problem s viditelnostou makier cez viacero suborov? (to som
> si myslel, preto ta definicia TMP)... s preprocesorom nemam nejake
> extra skusenosti, a google velmi nepomohol...
>
> M.D.
>
>
> On 10/31/07, Honza Sochna <soptiks at seznam.cz> wrote:
>> Ahoj,
>>
>> Tohle primo souvisi s tim, jak by mely byt tyto podminene testy delane. Tedy
>> nikoliv tak, ze mas jednu funkci a uvnitr ni menis chovani pomoci #ifdef,
>> .... Ale v hlavickovem souboru podle (ne)definice makra menis na jakou
>> funkci
>> se bude mutex_lock, unlock mapovat.. Tedy zkompilovane v nasich zdrojacich
>> budou obe varianty a podle #define na strane uzivatele se vybere jedna z
>> nich.
>>
>> Pokud jsem to pochopil spatne, tak me opravte.
>>
>> HS
>>
>> -----Original Message-----
>> From: osy-bounces at dsrg.mff.cuni.cz [mailto:osy-bounces at dsrg.mff.cuni.cz] On
>> Behalf Of Jan Raszyk
>> Sent: Wednesday, October 31, 2007 9:35 PM
>> To: osy at dsrg.mff.cuni.cz
>> Subject: [OSy] mutex5 test a DEBUG_MUTEX
>>
>>
>> Dobry den.
>>
>> Zadani funkce mutex_unlock narizuje, ze implementace mutexu ma byt
>> zavisla na hodnote symbolu DEBUG_MUTEX. Predpoklada se, ze si tento
>> symbol nadefinujeme sami na hodnotu 1? Pokud to totiz neucinime, test
>> mutex5 zrejme nemuze projit, protoze tento symbol je definovan v nem a
>> my jej nijak neincludujeme do sveho zdrojoveho kodu (a zrejme se
>> nepredpoklada, ze bychom tak meli ucinit).
>>
>> Dekuji,
>> JR
>>
>> _______________________________________________
>> OSy mailing list
>> OSy at dsrg.mff.cuni.cz
>> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>>
>>
>> _______________________________________________
>> OSy mailing list
>> OSy at dsrg.mff.cuni.cz
>> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>>
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>






More information about the NSWI004 mailing list