首页 > 解决方案 > 非标准 c 头文件(unistd.h、fcntl.h、...)如何与 c++ 一起使用

问题描述

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

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

使用extern "C"说(缺乏参考链接):

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

现在来到像unistd.h,fcntl.h之类的系统头文件,如果您查看内容,它只是一个普通的 C 头文件,extern "C"周围没有任何内容。

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

这些是我的问题:

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

    外部“C”{#include}

标签: c++clinuxlinkerposix

解决方案


推荐阅读