我正在尝试找到一种方法来构建 C/C++ 项目以仅根据输入包含某些文件,即,如果其参数 a 包含文件 1-5。参数b包括文件6-10等。基本上是一个脚本或基于Visual Studio输入构建项目的东西。我想出的唯一想法是使用似乎不起作用的预处理器命令,使用命名空间命令,但我什至不确定如何使用它,或者以某种方式编写脚本,但我也不知道该怎么做。
原因是我无法编辑应用程序的某些内部文件,并且它们共享一些相同的函数名称。任何帮助将不胜感激!
#ifdef MY_FLAG
#include "header1.h"
#include "header2.h"
#include "header3.h"
#include "header4.h"
#include "header5.h"
#endif
#ifdef MY_OTHERFLAG
#include "header6.h"
#include "header7.h"
#include "header8.h"
#include "header9.h"
#include "header10.h"
#endif
相信我,这行得通 :) 只要确保正确定义它们。
您也许还可以玩一些游戏来包装具有相同函数名称的文件,即:
在 wrapper.c 中:
#define funca file1_funca
#include "file1.c"
#undef funca
它有点脏,但它可以工作。