gpt4 book ai didi

通过将宏与字符串连接来构造固定字符串

转载 作者:太空宇宙 更新时间:2023-11-04 00:36:19 25 4
gpt4 key购买 nike

我已经回答了很多类似的问题并且几乎让它起作用了,但还不完全是。

我拥有的是标准的 Macro-Expansion-Stringification-method。

#define QUOTEME(M)          #M
#define DOQUOTE(M) QUOTEME(M)
#define XCONCAT(X, Y) X##Y
#define CONCAT(X, Y) XCONCAT(X, Y)

然后我有一个像这样的宏PREFIX:

#define SW_PREFIX    XY2Ar-

我想做的是:

#define SW_FILE DOQUOTE(CONCAT(SW_PREFIX, update))

这应该输出的是:"XY2Ar-update"它在我的 GCC 型编译器上输出的是:

error: pasting "-" and "update" does not give a valid preprocessing token

现在,我假设他正在正确替换宏,但显然不想将 update 附加到 XY2Ar- 因为 -.

我也试过:

#define SW_FILE     DOQUOTE(SW_PREFIX.update)

这又一次几乎做了我想要的,但是它输出了XY2Ar-.update,这也不是我想要的。

我没有想法。

最佳答案

这里有一个替代方案:

#define QUOTEME(M)    #M
#define COMPOSE(A, B) QUOTEME(A) #B

#define SW_PREFIX XY2Ar-
#define SW_FILE COMPOSE(SW_PREFIX, update)

关于通过将宏与字符串连接来构造固定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34264603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com