Оглядываясь на некоторые документы XMOS, кажется, что проблема в том, что XC - это не C , это просто язык, похожий на C.Из «Руководства по программированию XC»:
XC предоставляет многие из тех же возможностей, что и C, основным упущением является поддержка указателей.
..., что объясняет, почемуон не принимает указатели next
и prev
в вашей структуре.
Очевидно, что xcc позволяет вам смешивать источники C и XC, поэтому, если вы ограничите использование структуры кодом Cон должен работать.Из «Руководства по командной строке XCC» видно, что все, что имеет расширение .xc
(как в командной строке, которую вы использовали выше), по умолчанию рассматривается как исходный код XC, а не C.Это можно изменить, поместив параметр -xc
перед источниками C в командной строке и -x
после (или просто переименовать файлы с расширением .c
).
Если вы должны использовать XC, а не C, вам может понадобиться найти другой способ выполнения действий (возможно, массивы?).