版本: Code Composer Studio Version: 10.1.0.00010 (实际在Ver 5.6上也出现相同的问题)
此处有一个异常点,这个变量查找定义的时候,出现了2个索引结果,一个相对路径,一个绝对路径,实际文件只有一个,而且都是通过linked 方式添加文件
Error msg:
"E:/000_elevator_project/MT70-MCB-A/MT70-MCB-AU111-V215-ADY/source/ns_function/ady.c", line 79: error #137: struct "FLAG" has no field "HallFloor49to64UpDisplay"
"E:/000_elevator_project/MT70-MCB-A/MT70-MCB-AU111-V215-ADY/source/ns_function/ady.c", line 79: error #137: struct "FLAG" has no field "HallFloor49to64DnDisplay"
"E:/000_elevator_project/MT70-MCB-A/MT70-MCB-AU111-V215-ADY/source/ns_function/ady.c", line 80: error #137: struct "FLAG" has no field "HallFloor65to80UpDisplay"
"E:/000_elevator_project/MT70-MCB-A/MT70-MCB-AU111-V215-ADY/source/ns_function/ady.c", line 80: error #137: struct "FLAG" has no field "HallFloor65to80DnDisplay"
实际根据编译器的颜色提示,该代码已经声明并参与到编译
此处已在一个公共头文件声明
#define MT70_ADY //#define MT70_XF
ady.c文件中也包含对应的头文件
#ifndef ADY_H #define ADY_H //#pragma once #include "DSP2833x_Device.h"//这个头文件已包含全部头文件 #include "elevator_cfg.h" #include "stdint.h"
确定没有编译的原因是这个Flag结构体分配在RAMM14,
name origin length used unused attr fill
RAMM14 0000d100 00000700 000004a5 0000025b RWIX
如果被编译此处的未使用空间应该会减少到90左右,证明实际没有分配内存
所以奇怪的点就是为什么已经#define 而且编辑器代码块提示没有灰色的前提下出现未编译的情况。请了解的人帮帮忙,已经调试2天未解决问题。
Green Deng:
找了一圈同样报错的问题,但是似乎没有跟你相似的问题类型。
我比较好奇,代码中"Flag.HallFloor1to16UpDisplay.all" ~ "Flag.HallFloor33to48UpDisplay.all"也是同样的定义方法吗?为什么这几个定义的没有问题?