【发布时间】:2012-03-07 12:41:55
【问题描述】:
如何编写定义接口的单个头文件并使用单独的源文件编写特定于平台的代码?
例如:
video.h
video_windows.c
video_linux.c
video_osx.c
【问题讨论】:
标签: c header portability
如何编写定义接口的单个头文件并使用单独的源文件编写特定于平台的代码?
例如:
video.h
video_windows.c
video_linux.c
video_osx.c
【问题讨论】:
标签: c header portability
在您的问题中,当您谈论源文件之间的共享标头时,您拥有所有头文件。
在任何情况下,您只需提供一个通用的.h 文件并拥有 3 个不同的
video_windows.c
video_linux.c
video_osx.c
然后根据平台将正确的文件包含到您的 makefile(或任何您使用的文件)中。
如果您想直接分隔头文件或源文件中的代码,您可以轻松使用一些预定义的宏,请参阅here。
【讨论】:
foo.h,然后在一个名为bar.c 的文件中定义它的方法,没有任何问题。您只需 #include "foo.h" 在源文件和所有其他涉及的文件中。头文件名没有任何限制或约束。