C中的“〈:“是什么?

waxmsbnn  于 2023-04-29  发布在  其他
关注(0)|答案(1)|浏览(98)

我正在对一些用于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);
    }
}

这只是一个通用的问题,我无法找到谷歌或搜索堆栈交换。

gxwragnw

gxwragnw1#

在标准C中,<::>符号是有向图。除了拼写,<:相当于[:>相当于]
然而,当这些符号在代码中被翻译时(并且为了可读性而重新格式化代码,包括在void和函数名之间,在portp之间,以及在intdelay_in_ms之间添加空格),您最终会得到:

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);
    }
}

这说不通啊因此,您可能需要仔细阅读系统上的C编译器手册,以了解它的含义。或者可能只是复制粘贴操作(我假设)省略了一些空格,也省略了代码片段的:>符号或其他关键位。
Eugene Sh.中关于XC的提示下,XC Manual的第13页(第2章开始)有一个图表:

  • <:用于输出
  • :>用于输入

第14页上的代码显示了这些操作符的使用情况。
XC与C不一样,尽管它是密切相关的。

相关问题