C语言,使用宏来传数字参数
a.h
#define xglue(x, y) x ## y #define glue(x, y) xglue(x, y) static int glue(load_elf, SZ)(void) { printf("size is %d\n", SZ); return 0; }
a.c
#include <stdio.h> #define SZ 8 #include "a.h" #undef SZ #define SZ 16 #include "a.h" #undef SZ int main(void) { load_elf8(); load_elf16(); return 0; }
代码如上。利用两个宏,重复加载头文件,来达到定义不同函数的目的。
################################
#欢迎交流讨论,如有转载,请注明来源
#http://www.cnblogs.com/elta/
################################