如何在C++源文件中使用某些 Unix 头文件
How to use some Unix header file in a C++ source file?
我计划使用一些Linux API来完成C++语言的网络程序任务。所有的Linux API或者结构都是在C头文件中定义的,比如<netinet/in.h>
,如何在Cpp源文件中正确使用它们?如何使用 C 头文件中定义的结构?我应该使用C++联动规范吗?如:
extern "C" {
#include <netinet/in.h>
};
Linux
中的系统标头已经C++
兼容,除了#include
它们之外,您无需执行任何其他操作。事实上,绝大多数C
库都有C++
兼容的标头,因此您只需#include
它们即可。
有一些例外(如ffmpeg
(。那些你需要用extern "C" {}
包裹.尽管可能并不总是可以通过以这种方式包装来使用本机C
标头,因为C
可能包含其他不兼容性。
有关使用 ffmpeg 的示例,请参阅此处
相关文章:
- 在UNIX系统中使用DIR查找文件的字节大小
- 如何在C/C++中用FD_set Unix设置套接字文件描述符
- ofstream将额外的零字节写入Unix服务器上的文件
- UNIX API 调用:使用 read() 函数打开文件并将其打印到屏幕上会增加额外的随机字符
- C 带有DEVC ,如何访问UNIX中的文件
- 如何在C++源文件中使用某些 Unix 头文件
- 如何在 unix 中获取当前工作目录中最大的文件
- CMake 错误:无法创建命名生成器 CodeLite - Unix 生成文件
- 双击编译C++ Unix 可执行文件不会打开现有文件以从中读取信息
- UNIX类似文件系统的目录结构
- 正在读取由换行符分隔的文本文件.unix上的C++
- UNIX文件描述符
- 调试C :./nptl/sysdeps/unix/sysv/linux/raise.c:没有这样的文件或目录
- 如何为 Unix 创建生成文件
- 在c++unix中异步写入文件
- 将 Unix 可执行文件转换为 Windows 可执行文件
- Unix可执行文件上的Mac分段错误,文件编译正常
- 通过删除点链接和重复斜杠来规范Unix文件路径
- UNIX文件描述符重用
- UNIX文件读取和写入而非写入