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/
################################

浙公网安备 33010602011771号