ZHCUBL2K January 2018 – March 2024
C7000 主机仿真同时引入并省略了 C7000 编译器使用的一些语法。虽然本文档通篇详细说明了这些差异,但在所有这些情况下都不能依赖主机仿真编译器发出警告和错误。这是因为 C7000 编译器允许的一些原始语法构成了合法的 C++ 代码,而主机仿真编译器则没有理由警告用户。虽然在某些情况下使用原始 C7000 编译器语法在语法上可能是正确的,但无法始终保证结果。表 10-2 列出了在将原始 C7000 语法与 C7000 主机仿真搭配使用时可能出现的主机编译器错误和警告或缺失。
说明 | 示例 | 编译器输出 |
---|---|---|
将 cl7x 转换样式构造函数语法与主机仿真配合使用 | 与
|
无错误或警告。使用转换样式构造函数语法时,结果不正确或产生意外结果。 |
以向量作为“布尔表达式”的三元运算符 | res = vec1 ? vec2 : vec3 |
编译器错误:“无法将 vec_type 转换为 bool”。 |
将重排访问器与成员数据语法结合使用 | example.s0121 |
编译器错误:“成员不存在”。 |
将重排访问器与函数数据语法结合使用 | example.a0121() |
编译器错误:“成员函数不存在” |
不对访问器使用函数语法 | ...= vect.s0; |
编译时错误。 |
在 SE/SA 参数中使用无效值 | 将 VECLEN 设置为负数 | 在运行时,主机仿真将指出哪个字段无效。 |