使用来自不同组件的C ++预处理器构造版本字符串

时间:2013-11-28 08:03:24

标签: c++ c-preprocessor

我正在尝试从表单v.vv和“v.vv”(带/不带引号)构造一种版本字符串。这是我的示例代码

#define A 1
#define B 00
#define X(a,b) a.b
X(A,B)

GCC给了我

1 . 00

即。有一些空间。 有没有办法让它没有空格?有人知道吗?

1 个答案:

答案 0 :(得分:1)

您最好的选择是将版本作为字符串,然后您可以执行此操作。

#define Y(v) #v
#define X(a,b) Y(a) "." Y(b)

使用X宏现在将创建字符串"1.00"