我在.c文件中使用以下代码,然后我正在创建库文件。
#define abc void printa()\
{\
printf("a");\
}
在我使用abc
函数之上的其他一些文件中。但是,当我链接两个文件时,它不会打印。
如果我在宏定义中使用它有一些东西,它将不会包含在库文件(.a文件)中。
答案 0 :(得分:3)
宏定义abc
#define abc void printa()\
{\
printf("a");\
}
从链接器中看不到。 CPP预处理器只是用
替换任何出现的abc
void printa()
{
printf("a");
}
如果您希望链接器可以看到函数,请为它们提供声明和定义,如
void abc() {
printf("a");
}