提问人:Bryant 提问时间:3/27/2023 最后编辑:Bryant 更新时间:4/5/2023 访问量:178
在预处理器指令之后定义哪个 clang 格式的字段不缩进?
which field in clang-format to define not to indent after preprocessor directive?
问:
应用 CLANG-Format 后的当前代码为:
#ifndef CEEDLING_TEST
static
#endif
void
Measurement(const uint16_t *buff)
{
g_rmsValue1ms = Get1msRmsValue(buff);
g_rmsValue60ms = MovingAvgFilter(&g_MaFilter, g_rmsValue1ms);
}
预期:
#ifndef CEEDLING_TEST
static
#endif
void Measurement(const uint16_t *buff)
{
g_rmsValue1ms = Get1msRmsValue(buff);
g_rmsValue60ms = MovingAvgFilter(&g_MaFilter, g_rmsValue1ms);
}
有人知道使用哪个参数来定义这样的行为吗?
答:
0赞
Vojtěch Chvojka
4/5/2023
#1
我不知道 clang-format 选项。
我建议对你的代码进行一些小的改动。您可以使用宏来代替关键字,该宏决定函数是否为静态函数。这不仅解决了 clang 格式的问题,而且还可能为您节省大量时间。#ifdef
static
#ifdef
#ifdef CEEDLING_TEST
#endif
#ifdef CEEDLING_TEST
#define MY_STATIC
#else
#define MY_STATIC static
#endif
MY_STATIC
void Measurement(const uint16_t* buff)
{
g_rmsValue1ms = Get1msRmsValue(buff);
g_rmsValue60ms = MovingAvgFilter(&g_MaFilter, g_rmsValue1ms);
}
评论
0赞
Bryant
4/7/2023
谢谢你,你的解决方法解决了我的问题。我检查了我的 Clang 格式配置,没有像 --dump-config 这样的选项。
0赞
Vojtěch Chvojka
4/19/2023
@Bryant 如果我的回答解决了你的问题,最好的方式是接受我的回答而不是写评论。:)此外,该选项是从命令行传递到的。诸如此类。如果通过,它将打印您的完整配置以进行格式化。当提出像您这样的问题时,此输出非常有用。您可以查看 中可用的选项。--dump-config
clang-format
clang-format --dump-config
clang-format --help
上一个:了解延迟宏
评论
--dump-config