Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ clang格式的自定义控件语句_C++_C_Clang_Clang Format - Fatal编程技术网

C++ clang格式的自定义控件语句

C++ clang格式的自定义控件语句,c++,c,clang,clang-format,C++,C,Clang,Clang Format,例如,我们使用宏来插入控制语句 IF (baz == 1) { // code } ELSE { // code } 铿锵格式无法识别这些,因此会感到困惑。我注意到有ForEachMacros,我希望其他控制语句也有类似的功能。我从您的评论中了解了这一点: 请看这里: 您需要在项目中包含,以便定义宏 之后,看起来您应该能够执行#undef WMOPS,事情将恢复“正常” 这些宏似乎用于分析/分析软件的操作-重要的是,在特定执行区域中使用了多少次for,while,do,if,

例如,我们使用宏来插入控制语句

IF (baz == 1) {
    // code
} ELSE {
    // code
}

铿锵格式无法识别这些,因此会感到困惑。我注意到有
ForEachMacros
,我希望其他控制语句也有类似的功能。

我从您的评论中了解了这一点:

请看这里:

您需要在项目中包含,以便定义宏

之后,看起来您应该能够执行
#undef WMOPS
,事情将恢复“正常”


这些宏似乎用于分析/分析软件的操作-重要的是,在特定执行区域中使用了多少次
for
while
do
if
else
switch
continue
break
goto

参见
g722/decg722.c:446
:494

if(头[0]!=G192_SYNC){/*坏帧(长度为零或有效的G.722长度)*/
/* ... */
}否则{/*好帧,更新索引内存mem_代码和模式内存mem_模式*/
#ifdef WMOPS
设置计数器(spe2Id);
fwc();
重置计数器();
#恩迪夫
然后
:567

#ifdef WMOPS
设置计数器(spe1Id);
fwc();
WMOPS_输出(0);
设置计数器(spe2Id);
fwc();
WMOPS_输出(0);
#恩迪夫
currCounter
变量在
setCounter()
内设置。这里选择计数器并在
G192\u SYNC
上重置,然后计算信息,并在接收帧后输出


我制作了一个简单的版本来演示:

#包括
#ifndef WMOPS
#为(a)定义(a)
#else/*WMOPS*/
#定义(a)\
if(incrFor(),0);else(a)
int myFor=0;
静态uu内联无效输入(无效){
myFor++;
}
#endif/*WMOPS*/
无效t(整数x){
int i;
对于(i=0;i<5;i++){
printf(“x:%d i:%d\n”,x,i);
}
}
内部主(空){
t(1);
t(2);
#ifdef WMOPS
printf(“myFor:%d\n”,myFor);
#恩迪夫
返回0;
}
$gcc wm.c-o wm&&./wm
x:1I:0
x:1 i:1
x:1 i:2
x:1 i:3
x:1 i:4
x:2I:0
x:2I:1
x:2I:2
x:2I:3
x:2I:4
$gcc wm.c-o wm-DWMOPS&./wm
x:1I:0
x:1 i:1
x:1 i:2
x:1 i:3
x:1 i:4
x:2I:0
x:2I:1
x:2I:2
x:2I:3
x:2I:4
myFor:2

根据您的评论,我对此进行了调查:

请看这里:

您需要在项目中包含,以便定义宏

之后,看起来您应该能够执行
#undef WMOPS
,事情将恢复“正常”


这些宏似乎用于分析/分析软件的操作-重要的是,在特定执行区域中使用了多少次
for
while
do
if
else
switch
continue
break
goto

参见
g722/decg722.c:446
:494

if(头[0]!=G192_SYNC){/*坏帧(长度为零或有效的G.722长度)*/
/* ... */
}否则{/*好帧,更新索引内存mem_代码和模式内存mem_模式*/
#ifdef WMOPS
设置计数器(spe2Id);
fwc();
重置计数器();
#恩迪夫
然后
:567

#ifdef WMOPS
设置计数器(spe1Id);
fwc();
WMOPS_输出(0);
设置计数器(spe2Id);
fwc();
WMOPS_输出(0);
#恩迪夫
currCounter
变量在
setCounter()
内设置。这里选择计数器并在
G192\u SYNC
上重置,然后计算信息,并在接收帧后输出


我制作了一个简单的版本来演示:

#包括
#ifndef WMOPS
#为(a)定义(a)
#else/*WMOPS*/
#定义(a)\
if(incrFor(),0);else(a)
int myFor=0;
静态uu内联无效输入(无效){
myFor++;
}
#endif/*WMOPS*/
无效t(整数x){
int i;
对于(i=0;i<5;i++){
printf(“x:%d i:%d\n”,x,i);
}
}
内部主(空){
t(1);
t(2);
#ifdef WMOPS
printf(“myFor:%d\n”,myFor);
#恩迪夫
返回0;
}
$gcc wm.c-o wm&&./wm
x:1I:0
x:1 i:1
x:1 i:2
x:1 i:3
x:1 i:4
x:2I:0
x:2I:1
x:2I:2
x:2I:3
x:2I:4
$gcc wm.c-o wm-DWMOPS&./wm
x:1I:0
x:1 i:1
x:1 i:2
x:1 i:3
x:1 i:4
x:2I:0
x:2I:1
x:2I:2
x:2I:3
x:2I:4
myFor:2

不要这样做。使用该语言的自然语句。在这件事上我没有选择。这是ITU-t强制执行的。在这种情况下,你是否包括定义宏的标题?@Attie请看这里:不要这样做。使用该语言的自然语句。在这件事上我没有选择。这是ITU-t强制执行的。在这种情况下,你包括h吗是否定义了宏?@Attie请参见此处: