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请参见此处: