我正在使用C语言商业RTOS的套接字库来开发嵌入式项目.出于保密原因,我对某些周围的细节会非常模糊,但只知道有一个完整的产品和RTOS堆栈.
在我正在研究的部分中,我有一个相当大但很简单的switch语句,它检查一个宏值并设置另一个宏值.案例值是RTOS标头中的套接字选项标志.当我用这个switch语句编译文件时,我得到一个错误,说"不止一次定义了case case",指的是其中五个案例.
以下是一些让这个神秘的细节:
#ifndef HEADER以避免多个包含.我是由一位资深开发人员在这里经营的,他和我一样神秘.有没有人知道可能导致这种情况的C解释的怪癖,或者任何地雷可能被忽视了?
谢谢!