我有一个针对多种不同架构的项目。例如,我有一个处理浮点寄存器的头文件“fpr.h”。这些 header 存在于:
arch/amd64/fpr.h
arch/ppc32/fpr.h
...
我有一个架构相关文件“foo.c”需要包含 fpr.h。 显然,我只希望包含目标架构的 header ,但我不确定最好的方法是什么。我正在尝试为我的构建系统使用 autotools,但我没有看到任何建议的方法来执行此操作。
有什么建议吗?
最佳答案
一种方法是让 autoconf 脚本检测体系结构并设置符号链接(symbolic link) arch/target
指向架构特定 header 的正确目录,然后是#include <arch/target/fpr.h>
.不过,使用异地构建进行这项工作可能很棘手。
另一种方法是设置一个 arch/target
手动目录并用类似 fpr.h.in
的文件填充它由 M4 预处理以引用实际的特定于体系结构的 header 。
关于c - 特定于体系结构的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7955332/