我计划使用一些Linux API来完成C ++语言的网络程序任务。所有Linux API或结构都在C头文件中定义,例如<netinet/in.h>
,如何在Cpp源文件中正确使用它们?如何使用C头文件中定义的结构?
我应该使用C ++链接规范吗?如:
extern "C" {
#include <netinet/in.h>
};
答案 0 :(得分:3)
Linux
中的系统标头已经C++
兼容,除了#include
之外,您无需执行任何操作。事实上,绝大多数C
库都有C++
个兼容的标题,因此您只需#include
它们就可以了。
有一些例外(例如ffmpeg
)。你需要用extern "C" {}
包裹的那些。虽然可能无法始终使用原生C
标头,只需将其包裹起来,因为C
可能包含其他不兼容性。
请点击此处查看使用ffmpeg
的示例