非标准c头文件(unistd.h,fcntl.h,...)如何与c ++一起使用

时间:2018-05-10 08:09:19

标签: c++ c linux linker posix

据我所知,每当我们在中使用中编译的代码时,我们必须指定一个链接约定,例如,

extern "C" {
    void func1(void);
    void func2(int, double);
}

使用extern "C"表示(缺少参考链接):

  

它应该根据C链接约定进行链接。所有   标准C库中的函数以这种方式编写,如(stdio.h,   cstdio,stdlib.h,...)

现在进入系统标头,例如 unistd.hfcntl.h ,如果您查看内容,它只是一个普通的C标头,周围没有任何extern "C"

现在,在代码中使用时,它正在编译而没有任何错误。

这是我的问题:

  1. 为什么链接没有任何错误。
  2. 我是否应该像这样包含标题,以便每次都有效。

    extern“C”{    #包括 }

0 个答案:

没有答案