This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

How to write a macro to concatenate two symbols without spaces between them?


Hi All,

Here is my code
---------------------------------------
#define TYPE  1x1
void func_1x1() { ... }
void func_2x2() { ... }
void func_3x3() { ... }
---------------------------------------

I want to implement such an macro my_func(), which asscociats with the
corresponding function automatically
according to the value of another macro TYPE.  For example, if TYPE is 1x1
my_func() is expanded to func_1x1()
and if TYPE is 2x2, my_func() is expanded to func_2x2()
I tried #define my_func func ## TYPE
and #define my_func func TYPE. They are not appropriate.
How should I write this macro my_func()?

Best Regard
--------------
PRC
Oct 31, 2008


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]