使用bool返回类型导出文件(* .h)中的函数签名

时间:2014-08-07 23:22:54

标签: c gcc compiler-construction

我有一个文件:

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

我错过了什么吗?当导出的函数具有需要导出类型的签名时,是否需要执行一些特殊操作?

2 个答案:

答案 0 :(得分:1)

您还需要在stdbool.h中添加mylib.h

bool是一个扩展为_Bool类型的宏,此bool宏在stdbool.h中定义。

答案 1 :(得分:0)

正确的方法是将#include <stdbool.h>移动到mylib.h,然后在mylib.c中包含mylib.h