Empty in define C?

96 Views Asked by At

Quick question about the following snippet:

#ifndef __LZO_MMODEL
#define __LZO_MMODEL            /*empty*/
#endif

In an empty define like this what does it represent?

It's used in like manner:

#define lzo_bytep               unsigned char __LZO_MMODEL *
#define lzo_charp               char __LZO_MMODEL *
1

There are 1 best solutions below

1
0___________ On BEST ANSWER

Those answers do not cover many other possible cases.

Another example.

#ifndef DEBUG
#define SINLINE static inline __attribute__((always_inline))
#else
#define SINLINE 
#endif

and then

SINLINE void myfunc()
{
   /* ... */
}

and if the DEBUG is defined function will not be inlined making it more debugger friendly.

There are many other use cases.