c++ - 非标准 c 头文件(unistd.h、fcntl.h、...)如何与 c++ 一起使用
问题描述
据我所知,每当我们在c++中使用用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"
周围没有任何内容。
现在,当在c++代码中使用时,它编译时没有任何错误。
这些是我的问题:
- 为什么它链接没有任何错误。
我是否应该包含这样的标题,以便它每次都有效。
外部“C”{#include}
解决方案
推荐阅读
- python - Geo Django 3.2 django.db.utils.OperationalError:没有这样的功能:lwgeom_version
- unit-testing - 如何为配置类实现junit测试用例?
- java - 是否可以将 GLSL 着色器添加到 android Canvas?
- sql-server - SQL:计算两个日期之间的时间段是否等于或小于 3 个月
- three.js - 在 Aframe 中,我如何做到这一点,以便物体在与它们碰撞时可以阻止我进一步进入它们?
- reactjs - 错误:[Home] 不是
零件。的所有子组件 必须是 或者 - python - 从 mac 上的多个位置删除 python
- r - 用 R 计算向量中的重复元素(可变长度)
- hibernate - 我在作为对象的方法上创建了一个查询,但我不知道如何让它返回对象
- javascript - 单击菜单项后,JS汉堡菜单不折叠