在我目前的项目中,我正在尝试使用doxygen生成文档。但是我有一个变量的问题。不知怎的,doxygen将变量识别为函数。
代码:
__xdata __at (0x0F00) volatile static unsigned char Programmed; /*!< an indicator if the board is programmed or not, during init copied from flash to xram*/
/*!
* The main loop that does all the magic
* besides the "compiler startup" _sdcc_external_startup (in HWInit.c) is called to handle some "urgent" init (disabling of the watchdog)
*/
void main(void){
unsigned short int TempUSInt;
//init the device.
Init_Device();
注意代码:代码是为8051微控制器的SDCC compiler编写的。
__xdata __at ()
指令是一个特殊指令,因此编译器知道它必须将数据放在预定位置(地址0x0F00)的单独存储器段(称为XDATA)中。
我的探测器是doxygen将__at()
识别为函数而不是变量,从而覆盖main()
函数。
虽然有办法让doxygen忽略__xdata __at () char Programmed
语句,但这样做的缺点是变量被忽略,因此没有记录。
那么是否有人知道如何让doxygen将__xdata __at () char Programmed
识别为变量而不是函数?
答案 0 :(得分:2)
我的策略是使用doxygen宏隐藏(定义为空)来自doxygen的编译器魔法(未经测试;玩转):
PREDEFINED = __xdata= \
__at()=
您还可以查看EXPAND_AS_DEFINED
的文档。
PS:你的操作系统是否真的允许void
- 返回主?如果没有,您应该使用int main(void)
。