多个源文件的一个标题?

dyn*_*eed 4 c portability header

我如何编写定义接口的单个​​头文件并使用单独的源文件来编写特定于平台的代码?

例如:

video.h
video_windows.c
video_linux.c
video_osx.c
Run Code Online (Sandbox Code Playgroud)

Jac*_*ack 9

在您的问题中,当您谈论源文件之间的共享标头时,您拥有所有头文件.

在任何情况下,您只提供一个通用.h文件,并有3个不同的

video_windows.c
video_linux.c
video_osx.c
Run Code Online (Sandbox Code Playgroud)

然后根据平台将您的makefile(或任何您使用的)包含在正确的文件中.

如果要直接在头文件或源文件中分隔代码,可以轻松使用一些预定义的宏,请参见此处.

  • 标头的名称与源文件的名称无关.您可以将其命名为`foo.h`,然后在名为`bar.c`的文件中定义其方法,而不会出现任何问题.你只需要在源文件和所有其他涉及的文件中"#include"foo.h"`.没有限制或约束来保存头文件名. (3认同)