主题中讨论的其他器件:HALCOGEN
工具/软件:TI C/C++编译器
你(们)好
HalcogGen 04.07.00创建:
hL_het.c、包括 std_nhet.h、未事先设置 HET_V2
结果:std_nhet.h 中的默认设置 HET_V2 = 0
HETASM / hetp.exe 创建
xxx.c、包含 std_nhet.h、未预先设置 HET_V2、也未包含 xxx.h
和
xxx.h、其中包含 std_nhet.h、并预先设置 HET_V2
结果:如果 std_nhet.h 之前包含 xxx.h、则预期设置 HET_V2 = 1
包括 xxx.h 和 std_nhet.h 在内的文件将在 HET_V2 = 1 (正确)的情况下进行编译、
但是、在 std_nhet.h 之前包含 std_nhet.h 但不包含 xxx.h 的文件将在 HET_V2 = 0时进行编译(错误)。
lint 检测:
警告547:重新定义符号'HET_v2'与....冲突
错误18:重新声明符号"br_format::branch_condition"(精度)
错误114:标签"br_format"的结构声明不一致
错误38:符号"br_format::10006"的偏移不一致
如果禁用了 MISRA C2 2004中的所有内置检查、TI 编译器 ti-cgt-arm_16.9.3.LTS 仅检测到问题!!!!!
我们无法轻松地更改编译器,因为它是由外部公司验证的。 (限制不要使用内置 MISRA 校验器)
#48不兼容的宏"HET_v2"重新定义(在"D:/yyy/TICore/include/std_nhet.h "的第57行声明) xxx.h /yyy/TICore/include 第4行 C/C++问题
我当前的脏污权变措施是:
手动显式在 xxx.c 中包含 xxx.h (两者均由 hetp.exe 自动生成)
手动显式更改 hl_het.c 中包含文件的顺序(从 HalcogGen 自动生成)
您能否确认行为、或者我是否错过了 HalcogGen 中的相关设置?
提前感谢