我有一个文件:
// mylib.c
// -------
#include <stdbool.h>
bool is_zero(int n)
{
return (n == 0);
}
详细说明要导出的功能的文件:
// mylib.h
// -------
bool is_zero(int n);
当我编译时,我得到&#34; mylib.o:错误:未知的类型名称&#39; bool&#39;&#34;
我错过了什么吗?当导出的函数具有需要导出类型的签名时,是否需要执行一些特殊操作?
答案 0 :(得分:1)
您还需要在stdbool.h
中添加mylib.h
。
bool
是一个扩展为_Bool
类型的宏,此bool
宏在stdbool.h
中定义。
答案 1 :(得分:0)
正确的方法是将#include <stdbool.h>
移动到mylib.h,然后在mylib.c中包含mylib.h