clang-format目前将所有pragma移动到第一列.clang格式之前的一个例子:
for (int i = 0; i < 4; ++i) {
#pragma UNROLL
// ...some code...
}
Run Code Online (Sandbox Code Playgroud)
clang格式后的相同代码:
for (int i = 0; i < 4; ++i) {
#pragma UNROLL
// ...some code...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让clang-format完全忽略pragma行而不改变源代码(即不会混淆源代码// clang-format off)?例如使用正则表达式?
这与此问题有关(我希望避免安装第三方工具),并希望通过此错误报告解决.
另外,虽然clang-format off对于带有pragma的行是受到尊重的,但是注释行本身将缩进到pragma 将缩进到的内容(使用clang-format 6.0.0):
for (int i = 0; i < 4; ++i) {
// clang-format off
#pragma UNROLL
// clang-format on
// ...some code...
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 CMake 配置使用configure_file.
其中一些脚本没有任何数学功能,因此我需要使用宏在 CMake 脚本中计算派生值math,例如:
math(EXPR EXAMPLE_BLOCK_SIZE "${EXAMPLE_SIZE} / ${EXAMPLE_BLOCK_COUNT}")
Run Code Online (Sandbox Code Playgroud)
不过好像math不支持浮点运算。如果我设置-DEXAMPLE_SIZE=2.5并且-DEXAMPLE_BLOCK_COUNT=2CMake 抛出错误:
math cannot parse the expression: "2.5 * 2": syntax error, unexpected
exp_NUMBER, expecting $end (2)
Run Code Online (Sandbox Code Playgroud)
有没有办法直接使用 CMake 宏计算实数?
如果没有,什么是实现这一目标的便携式方法?