【发布时间】:2019-09-27 12:29:56
【问题描述】:
我有一个在两个平台之间进行选择的头文件:
#pragma once
#ifdef _WINDOWS
#define PAR_CLASS TestPar
#define PAR_INCLUDE_FILE "TestPar.h"
#else
#define PAR_CLASS Par
#define PAR_INCLUDE_FILE "Par.h"
#endif
有了这个,我可以使用以下行来包含一个头文件:
#include "ClassNames.h"
#include PAR_INCLUDE_FILE
但是,我希望有更多的类,对于 PAR_CLASS 和 PAR_INCLUDE_FILE,唯一不同的是 " 和 .h
我想要的是在#include 中使用 PAR_CLASS,类似于:
#include "PAR_CLASS.h"
但这不起作用......这样的事情可能吗?
我希望它可以在 Visual Studio (2019) 和 Arduino IDE 中运行。
【问题讨论】:
-
可能是令牌粘贴?
#include PAR_CLASS ## ".h"? -
@barmar:不能使用标记粘贴来进行字符串文字连接,也不能在预处理器指令中使用字符串文字连接。
标签: c include preprocessor