gpt4 book ai didi

C风格宏编译

转载 作者:行者123 更新时间:2023-11-30 18:44:36 24 4
gpt4 key购买 nike

我有以下宏:

#define oslock_TryAcquire(pLock) { \
INITIALIZED_ASSERT(pLock) \
acquire(pLock)}

编译时我得到:

error: expected expression before ‘{’ token
#define oslock_TryAcquire(pLock ) { \

更新: ^我收到“后续”错误:

note: in expansion of macro ‘oslock_TryAcquire’
if(!oslock_TryAcquire(&pLock)){
^~~~~~~~~~~~~~~~~~~~~~

我不明白这是什么问题?将向 glsd 寻求建议

最佳答案

宏是一种美化的文本替换。您的来电

if(!oslock_TryAcquire(&pLock))

扩展为

if(!{INITIALIZED_ASSERT(&pLock) acquire(&pLock)})

这在几种不同的方面都是无意义的语法。使用函数而不是宏。

关于C风格宏编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57572334/

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