[ECOS] programming technic about the macro?

Qiang Huang jameshq@liverpool.ac.uk
Mon Oct 28 14:12:00 GMT 2002


Hi all:
    I have looked into the IO support function and found the following:

for example(ARM):

#define HAL_READ_UINT16_STRING( _register_, _buf_, _count_)             \
    CYG_MACRO_START                                                     \
    cyg_count32 _i_;                                                    \
    for( _i_ = 0; _i_ < (_count_); _i_++)                               \
        (_buf_)[_i_] = ((volatile CYG_WORD16 *)(_register_))[_i_];      \
    CYG_MACRO_END


in the macro the tempory variable **_i_** has been declared, so if this
macro has been called twice inside one function will it cause any variable
redefinition (_i_)  problem?e.g.

main()
{
   HAL_READ_UINT16_STRING();
   HAL_READ_UINT16_STRING();
}


Thank you.



-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list