我正在用 C 语言做这个编程作业。但我对如何组织它感到困惑。
所以,情况就是这样。我有两个树实现,并在两个单独的头文件中声明它们的结构/包含/函数原型等。然后我有两个实现的两个 c 源代码。现在问题来了。我有一个用于树 ADT 的测试 c 文件(只有一个用于运行测试的主要功能)。由于这两个实现将使用相同的测试。如何避免制作同一个 main.c 文件的两个副本?当我包含树 implementation1 的头文件时,我可以做gcc Tree_implementation1.c main.c
. 但是要执行 implementation2,我必须回到主源文件并手动将 include 更改为 tree implementation2,然后我可以使用相同的编译命令。我如何解决这个问题以仅使用一个 main.c 在两个实现之间切换?