我正在对一些用于XMOS处理器的简单教程代码进行故障排除,遇到了一个以前从未在C中见过的运算符。<:
是什么?正如这里所使用的,它似乎设置了一个变量的高或低,但为什么不直接使用=
呢?
void flashing_led_task1(port p,int delay_in_ms){
while(1){
p<:0;
delay_milliseconds(delay_in_ms);
p<:1;
delay_milliseconds(delay_in_ms);
}
}
这只是一个通用的问题,我无法找到谷歌或搜索堆栈交换。
1条答案
按热度按时间gxwragnw1#
在标准C中,
<:
和:>
符号是有向图。除了拼写,<:
相当于[
,:>
相当于]
。然而,当这些符号在代码中被翻译时(并且为了可读性而重新格式化代码,包括在
void
和函数名之间,在port
和p
之间,以及在int
和delay_in_ms
之间添加空格),您最终会得到:这说不通啊因此,您可能需要仔细阅读系统上的C编译器手册,以了解它的含义。或者可能只是复制粘贴操作(我假设)省略了一些空格,也省略了代码片段的
:>
符号或其他关键位。在Eugene Sh.中关于XC的提示下,XC Manual的第13页(第2章开始)有一个图表:
<:
用于输出:>
用于输入第14页上的代码显示了这些操作符的使用情况。
XC与C不一样,尽管它是密切相关的。