This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
How to write a macro to concatenate two symbols without spaces between them?
- From: "Pan ruochen" <panruochen at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Fri, 31 Oct 2008 11:23:07 +0800
- Subject: 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