Keil 5 ARMCC编译错误和警告解释大全(2) 序列号1000 | 您所在的位置:网站首页 › 对象包含与成员函数不兼容的类型限定符 › Keil 5 ARMCC编译错误和警告解释大全(2) 序列号1000 |
1001:由 using 声明指定的类成员必须在直接基类中可见 1003:Sun 模式与 cfront 模式不兼容 1004:严格模式与 Sun 模式不兼容 1005:只有在编译 C++ 时才允许使用太阳模式 1006: 模板模板参数不能与其模板参数之一同名 1007:默认参数的递归实例化 1009: 不是可以定义的实体 1010:析构函数名称必须是限定的 1011:朋友类名不能用“typename”引入 1012: using-declaration 不能命名构造函数或析构函数 1013:限定的好友模板声明必须引用先前声明的特定模板 1014:类模板声明中的说明符无效 1015:参数与形式参数不兼容 1016:此位置不允许使用 ARM 函数限定符的前缀形式 1017:不允许重复的 ARM 函数限定符 1018:此声明/定义中不允许使用 ARM 函数限定符 ARM 函数限定符的示例包括 __svc、__pure 和 __irq。 请参阅《armcc 用户指南》中的以下内容: 关键字和运算符. 1019:函数限定符 不允许用于非静态成员函数 1020:__irq 函数不得带任何参数 1021:__irq 函数不得返回任何结果 1022:不能有指针,也不能引用功能 1023:__global_reg 此声明不允许 1024:无效的全局寄存器号;允许 1 到 8 个 __global_reg 中使用了无效的寄存器。 例: __global_reg(786) int x;1025:__svc参数不在 ARM SVC 指令允许的范围(0 到 )内 对于 ARM 代码,SVC 编号限制为 0 到 0xffffff,对于 Thumb 代码,SVC 编号限制为 0 到 0xFF。 对于标准半托管 SVC,0x123456用于 ARM 代码,0xAB 用于 Thumb 代码。 1026:不允许获取全局寄存器变量的地址 1027:__svc_indirect函数必须有参数 1028:全局注册声明与冲突 1029:__packed 忽略非指针参数 1030: 以前声明时未__packed 1031:必须__packed包装中的定义 编译器对包含在已打包父结构中的非打包子结构进行错误处理。这包括子结构是数组的情况。 例如: typedef struct ChildStruct { int a; } ChildStruct; typedef __packed struct ParentStruct { ChildStruct child[1]; } ParentStruct;结果显示以下消息: Error: #1031: Definition of "ChildStruct" in packed "ParentStruct" must be __packed请参阅《armcc 用户指南》中的以下内容: __包装好的. 1032:必须__packed打包中嵌套的匿名的定义 1033:与函数定义不兼容 1034:__irq 函数不得是函数调用的目标 1035:单精度操作数隐式转换为双精度 1037:__global_reg 在此声明中无效 1038:指定的对齐无效;只允许 2 的整数幂 1039:与冲突的对齐声明 1040:不允许未对齐 1041:自动对象的对齐方式不得大于 8 例如: int main(void){ __align(16) int foo = 10; }局部变量 foo 不允许__align,因此给出了错误。 请参阅《armcc 用户指南》中的以下内容: __對齊. 1042: 编译位置无关时无法动态初始化 1043: 不能是 const,因为它包含可变成员 例如: struct foo { int a; mutable int b; }; extern const struct foo bar;当编译器处于 ROPI 或 RWPI 模式时,它不允许 const 对象包含可变成员。 此限制的原因是,在这些模式下,编译器处理只读数据的方式与读写数据不同。因此,它必须知道对象是在 RO 还是 RW 数据部分中。在以下示例中,此限制意味着 bar 不能包含任何可变成员,因此位于 RO 数据部分中: struct foo; extern const struct foo bar; const struct foo *get_foo() { return &bar; }请参阅《armcc 用户指南》中的以下内容: --apcs=限定符...限定 符. 1044:选项“dep_name”只能在编译C++时使用 1045:从类 开始的“运算符>”函数序列循环 1046:没有成员类 1047:全局范围没有名为 的类 1048:模板默认参数的递归实例化 1049:访问声明和使用声明不能出现在联合中 1050: 不是类成员 1051:不允许非标准杆件常量声明 1052:选项“ignore_std”只能在编译C++时使用 1053:选项“parse_templates”只能在编译C++时使用 1054:选项“dep_name”不能与“no_parse_templates”一起使用 1055:指定的语言模式不兼容 1056:嵌套类的无效重新声明 1057:不允许包含未知大小数组的类型 1058:不能在内联函数中定义具有静态存储持续时间的变量 1059: 具有内部链接的实体不能在具有外部链接的内联函数中引用 1060: 参数类型 与此类型泛型函数宏不匹配 1062:好友声明不能在上一个声明中添加默认参数 1063:不能在此范围内声明 1064:保留标识符只能在函数内部使用 1065:此通用字符不能以标识符开头 1066:应为字符串文本 1067:无法识别的 STDC 编译指示 1068:预期的“开”、“关”或“默认” 1069:STDC 编译指示只能出现在全局作用域中的声明之间,或块作用域中的任何语句或声明之前 1070:不正确地使用va_copy 1071: 只能与浮点类型一起使用 1072:不允许使用复杂类型 1073:无效的指示符类型 1074: 浮点值无法准确表示 1075:复数浮点运算结果超出范围 1076:实数和虚数之间的转换结果为零 1077: 不能为灵活数组成员指定初始值设定项 1078:imaginary *= imaginary 将左操作数设置为零 1079:standard 要求通过后续声明(假定为“int”)为指定类型 1080:内联 1081:从整数到更小指针的转换 1082:浮点类型必须包含在_Complex或_Imaginary类型的类型说明符中 1083:内联汇编程序语法错误 在 ARM 编译器 4.1p2 及更早版本中,当内联汇编代码包含内联汇编程序不支持的指令(例如 WFI 指令)时,可能会生成此错误。在 4.1p3 及更高版本(包括所有 ARM 编译器 5 版本)中,会引发以下错误: 1084: This instruction not permitted in inline assembler1084:此指令不允许在内联汇编程序中使用 1085:缺少操作数 1086: 操作数类型错误 1087:操作数应该是恒定的 1088:操作数数错误 1089:无效的 PSR 操作数 1090:预期的 PSR 操作数 1091:指定的班次无效 1092:应为 acc0 1093:必须是可修改的左值 1094:预期为寄存器表达式 1095:需要标签或函数名称 1096:指令不能是有条件的 1097:预期为 [ 或 ] 1098:预计轮班操作 1099:出乎意料 ] 1100:不允许注册指定的班次 1101:不允许预先索引寻址 1102:不允许后索引寻址 1103:寻址模式下不允许写回 1104:预期 { 1105:预期 } 1106:寄存器列表中的寄存器过多 1107:只有^在这里有效 1108:无法在寄存器列表中混合虚拟寄存器和 C/C++ 表达式 1109:在寄存器范围内只能指定虚拟寄存器 1110:内联汇编程序不支持用户模式寄存器选择/CPSR 更新。使用嵌入式汇编程序或离线汇编程序 1111:应为协处理器名称 1112:需要协处理器寄存器名称 如果发生以下任一情况,则内联汇编程序会给出这些错误: MCR 或 MRC 指令中意外遗漏了协处理器编号 给出了无效的协处理器编号或协处理器寄存器编号。 这是正确使用的示例: void foo() { int reg0; __asm { MRC p15, 0, reg0, c1, c0, 0 } }1113:生成 Thumb 代码时不允许使用内联汇编程序 1114:目标体系结构/处理器不支持此功能 使用 armcc --cpu 4T 编译时的示例: int main(void) { int a,b,c; __asm { QADD a,b,c } return(a); }导致错误消息,因为饱和添加指令仅在 ARMv5TE 及更高版本中受支持。 1115: 无法分配给常量操作数 1116:寄存器列表不能为空 1117:不允许使用不合格的虚拟函数 1118:预期为换行符 1119:函数中不允许引用静态变量__asm 1120:__asm函数中不允许引用静态函数 1121:函数中不允许指向数据成员的指针__asm 1123:基类 是 1124:基类 不是 1125: 没有成员函数 1126:本声明中不允许使用“__asm” 1127:不允许__asm构造函数使用成员初始值设定项列表 1128:不允许对 __asm 构造函数使用 try 块 1129:操作数的顺序与以前的编译器版本不兼容 1130:__align typedef 中不允许 1131:不可移植指令(LDM 在注册列表中具有写回和基数,基数的最终值不可预测) 1132:不可移植指令(STM有写回和基数,不是在注册列表中的第一位,基数的存储值不可预测) 1133:虚拟基寄存器不允许使用表达式操作数 1134:字面意思被视为“长长” 常量太大,无法用有符号的 long 表示,因此被视为(有符号的)long long。 例如: int foo(unsigned int bar) { return (bar == 2147483648); }给出警告,因为 2147483648 大于有符号长整型允许的最大值。若要消除警告,如果应将常量视为(64 位)long long 类型而不是带符号的 long,请显式添加 ll 或 LL 后缀,或者,如果应将其视为无符号整数,请添加 U 后缀。 例如: int foo(unsigned int bar) { return (bar == 2147483648U); }请参阅《armcc 用户指南》中的以下内容: 长 长. 1135:字面意思被视为“无符号长长” 常量太大,无法用有符号的 long long 表示,因此被赋予了类型无符号的 long long。另请参阅错误编号 1134。 1137:应为逗号 1138:此表达式后出现意外的逗号 1139:MRRC 操作操作码必须位于 0-15 范围内 1140:MCRR 操作操作码必须在 0-15 范围内 1141:CDP 操作操作码必须位于 0-15 范围内 1142:MRC 操作操作码必须位于 0-7 范围内 1143:MCR 操作操作码必须在 0-7 范围内 1144:opcode_2 必须在 0-7 范围内 1145:LDC/STC 额外操作码必须在 0-255 范围内 1146:LDC/STC 偏移量必须在 -1020 至 +1020 范围内,并且字对齐 1147:常量操作数超出范围 1148:不允许使用 --fpu=none 的浮点运算符 1149:函数定义中不允许使用 --fpu=none 的浮点返回类型 1150:函数定义中不允许使用 --fpu=none 输入浮点参数 1151:不允许使用 --fpu=none 定义带有初始值设定项的浮点变量 1152:多态基类也需要导出 1153: 无法在此寄存器列表中分配物理寄存器 1154:此处只能指定偶数的物理寄存器 1155:此处只能指定对物理寄存器的分配 1156:此处只能指定物理寄存器的分配 1157:只能在损坏的寄存器列表中指定物理寄存器 1158:PSR 操作数在此处无效 1159:应为明确的标签或函数名称 1160:对临时析构函数的调用将覆盖此指令更新的条件标志 1161: 无法直接修改堆栈指针 SP (r13) 1162:无法直接修改链路寄存器 LR (r14) 1163:无法直接修改程序计数器 PC (r15) 1164:偏移量必须与字对齐 1165:不能在匿名联合中声明类型 1166:返回指向局部变量的指针 1167:将指针返回到本地临时 1168:选项“导出”只能在编译 C++ 时使用 1169:“导出”选项不能与“no_dep_name”一起使用 1170:“导出”选项不能与“implicit_include”一起使用 1171:的声明与另一个翻译单元的声明不相容 1172:另一个声明是 1175: 字段声明不能具有涉及可变长度数组的类型 1176:的声明在 1177:预期的“模板” 1178:“导出”不能用于显式实例化 1179:“出口”不能用于此声明 1180: 不能将未命名命名空间的成员声明为“导出” 1181:模板在定义后不能声明为“导出” 1182:声明不能有标签 1183:禁用对导出模板的支持 1185: 已在编译 1186:已在另一个翻译单元中定义 1187:非静态局部变量不能在__based规范中使用 1188:编译多于一个翻译单元时,未必指定列出 makefile 依赖项的选项 1190:编译多于一个翻译单元时,不得指定生成预处理输出的选项 1191: 不能在具有用户声明构造函数的类中声明与其类同名的字段 1192:“implicit_include”不能在编译多于一个翻译单元时使用 1193:导出的模板文件已损坏 1194: 无法实例化 -- 它已显式专用于包含导出定义的翻译单元 1196: 对象具有与成员 1197:没有 实例与参数列表和对象匹配(该对象具有阻止匹配的类型限定符) 1198:属性指定与 1199:没有指定宽度的类型 1200:属性指定的对齐值无效 1201: 的属性无效 1202: 1204:属性不带参数 1206:需要属性名称 1207:未知属性 1208:此处可能不会显示属性 1209:属性 的参数无效 1211:在“goto *expr”中,expr 必须具有“void *”类型 1212:“goto *expr”不标准 1213:获取标签地址不规范 1214:多次指定文件名: 1215:#warning 指令: 1217:“transparent_union”属性只适用于联合,不是联合 1218: “transparent_union”属性在不完整的类型上被忽略 1219: 不能透明,因为 的大小与第一个字段的大小不同 1220: 不能是透明的,因为它有一个类型为 的字段,该字段的大小与第一个字段的大小不同 1222:属性不适用于局部变量 1224:函数定义中不允许使用属性 1226:大小写范围中的第二个常量必须大于第一个常量 1227:函数定义中不允许使用 ASM 名称 1228:在 typedef 中忽略 ASM 名称 1229:未知注册名称“” 1230:修饰符字母“在 ASM 操作数中被忽略 1231:未知的 ASM 约束修饰符“” 1232:未知的 ASM 约束字母“” 1233:ASM 操作数没有约束字母 1234:ASM 输出操作数必须具有“=”或“+”修饰符之一 1235:ASM 输入操作数可能没有“=”或“+”修饰符 1237:ASM 语句中的冒号过多 1238:注册“”多次使用 1239:寄存器“”既被使用又被破坏 1240:注册“”不止一次被破坏 1241:注册“”具有固定用途,不得在ASM声明中使用 1242:寄存器“”有固定用途,不得在ASM声明中删减 1243:必须完全省略空的 clobbers 列表 1244:预期有 ASM 操作数 1245:期待寄存器敲击 1246:“format”属性需要省略号参数 1247:第一个替换参数不是第一个变量参数 1248:格式参数索引大于参数数 1249:format 参数没有字符串类型 1250:用于消除句法歧义的“template”关键字只能在模板中使用 1253:属性不适用于非函数类型 1254:指向 void 或函数类型的指针上的算术运算 1255:存储类必须是自动或寄存器 1256: 在通过省略号参数传递时,将提升为 ;请改用后一种类型 1257: 不是基类成员 1258:__super不能出现在 \“::\” 之后 1259:__super 只能在类范围内使用 1260:__super 后面必须跟 \“::\” 1262:残缺的名字太长了 1263:偏移量必须与半字对齐 1264:偏移量必须双字对齐 1265:不允许使用 --fpu=none 与浮点类型相互转换 1266:操作数应为常量表达式 1267:隐式物理寄存器应定义为变量 1268:声明别名为未定义的实体 1269:声明与其别名 不匹配 1270:声明为别名的实体不能有定义 1271:可变长度数组字段类型将被视为零长度数组字段类型 1272:忽略左值上的非标准强制转换 1273:无法识别的旗帜名称 1274:void 返回类型无法限定 1275:此处忽略自动说明符(在标准 C/C++ 中无效) 1276:忽略没有“packed”属性的对齐减少 1277:对应于的成员模板在另一个翻译单元中被声明为不同类型的模板 1278:忽略多余的初始值设定项 1279:va_start只能出现在带有省略号参数的函数中 1280:“short_enums”选项只在 GNU C 和 GNU C++ 模式下有效 1281: 导出信息文件 %sq1 在行号 %s2 处无效 1282:变量不能在寄存器范围内使用 1283:这里需要一个物理寄存器名称 1284:此处不能指定寄存器范围 1285:未定义隐式物理寄存器 1286:LDRD/STRD 指令将扩展 当 LDRD 和 STRD 指令用于内联汇编程序时,编译器会将它们扩展为两个 LDR 或 STR 指令,然后再通过编译器优化阶段。 优化阶段通常将两个LDR或STR指令组合回单个LDRD或STRD指令,但在某些情况下可能不使用 LDRD或STRD。 1287:LDM/STM指令可以扩展 编译器在经过编译器优化阶段之前,将内联汇编代码中的 LDM 和 STM 指令扩展为多个 LDR 或 STR 指令。 优化阶段通常会将 LDR 或 STR 指令改回 LDM 或 STM 指令,但在某些情况下可能不使用单个 LDM 或 STM 指令。 1288:由于名称冲突,未定义隐式 ARM 寄存器 1289:语句表达式只允许在块作用域中使用 1291:在非寄存器自动变量上忽略 ASM 名称 1293:在条件中分配 在需要布尔值的上下文中,例如,在 if、while 或 for 语句的控制表达式中,或条件表达式的第一个操作数中,该表达式包含以下值之一: 按位非运算符 (~)。很可能是逻辑非运算符 (!) 的意图。 赋值运算符 (=)。这可能是键入错误的相等运算符 (==)。例如: int main(void) { int a,b; if (a=b); }无论哪种情况,如果有意使用运算符,都可以通过添加与零的显式比较来禁止显示警告。 例如,将示例中的 if 语句更改为: if ((a=b)!=0);也可以使用 --diag_suppress 1293 选项来抑制此警告。 另请参阅消息编号 187,该消息在与常量进行比较时适用。 1294:旧式函数 编译器接受旧式和新式函数声明。以下示例显示了它们之间的区别: // new style int add2(int a, int b) { return a+b; } // old style int oldadd2(a,b) int a; int b; { return a+b; }在 C 模式下编译旧式函数时,编译器会报告: Warning: #1294-D: Old-style function oldadd21295:弃用声明 - 给出 arg 类型 当在 ANSI C 模式下遇到没有参数类型的声明时,通常会发出此警告。在 ANSI C 中,不推荐使用此类声明。但是,在移植旧代码时,使用 --diag_suppress 1295 选项禁止显示此警告有时很有用。 在 C++ 中: void foo();方法: void foo(void);并且不会生成任何警告。 1296:使用的扩展常量初始值设定项 用作常量初始值设定项的表达式可能不可移植。 这警告说,存在一个不遵循 ANSI C 严格规则的常量初始值设定项。 解决方案是重写代码以符合 ANSI。 以下示例显示了生成此警告的代码,并建议了使用 ANSI C 兼容代码实现相同目标的潜在替代方法。 使用 --diag_suppress 1296 进行编译会禁止显示警告。 示例 1: 当 x 和 y 是静态对象(即全局变量或静态局部变量)时,此代码会生成警告 1296,因为 C 标准不允许在常量表达式中强制转换指向整数的指针: int x; int y = (int) &x;ANSI C 要求静态对象的初始值设定项是常量表达式。(int) &x 不被视为常量表达式。 请注意,地址不是算术类型,因此 ANSI C 不允许使用此示例 C 代码。 不幸的是,这是其他编译器中常见的 ANSI 不合规,并且可能导致在将旧代码移植到 ARM 时出现问题。这就是 ARM 编译器发出警告而不是错误的原因。 符合 ANSI C 的替代方法是重写代码,使 y 成为指向 x 的指针: int x; int* y = &x;示例 2: 使用 --c90 开关编译的此代码会生成警告 1296: const int foo_table[] = { (int)"foo", 0, 1, 2};符合 ANSI C 的替代方法是重写代码,如下所示: const char* foo_table[] = { "foo", 0, (char*)1, (char*)2};示例 3: 此代码生成警告 1296,因为 C 标准不允许在常量表达式中强制转换指向长整数的指针: char value; long array[] = { (long)&value, (long)"string" };符合 ANSI C 的替代方法是重写代码以使用指针: char value; char *array[] = { (char*)&value, (char*)"string" };此解决方案之所以有效,是因为 C 语言中允许指针到指针的强制转换。 1297:头文件未防止多重包含 当 #included 未受保护的头文件时,会发出此警告。 未受保护的头文件是未包装在声明中的头文件,例如: #ifdef foo_h #define foo_h /* body of include file */ #endif默认情况下,此警告处于关闭状态。可以通过以下方式启用它: --diag_warning 12971298: 头文件由“”保护,但不 #define 它 例: #ifndef MYHEADER_H //#define MYHEADER_H #endif若要更正代码,请删除注释斜杠 (//)。默认情况下,此警告处于关闭状态。可以通过以下方式启用它: --diag_warning 12981299:成员和基类将按声明顺序初始化,而不是按成员初始化列表顺序初始化 1300: 继承隐式虚拟 当派生类的非虚拟成员函数隐藏父类的虚拟成员时,会发出此警告。例如: struct Base { virtual void f(); }; struct Derived : Base { void f(); };结果显示以下消息: Warning: #1300-D: f inherits implicit virtual struct Derived : Base { void f(); }; ^在派生类中添加 virtual 关键字可防止出现警告。对于C++,指定 --diag_suppress 1300 选项会禁止隐式虚拟警告。 1301:在结构中插入填充 为了使结构的成员正确对齐,在成员之间插入了一些填充。默认情况下,此警告处于关闭状态,可以使用 --diag_warning 1301 或 --remarks 启用。 例如: struct X { char x; int y; }结果显示以下消息: Warning: #1301-D: padding inserted in struct X编译器还可以警告在结构末尾或结构之间添加填充,请参阅消息编号 2530。 1302:类型太大,无法在寄存器中返回 - __value_in_regs忽略 1303:使用 --force_new_nothrow:添加了 “throw()” 1304:操作员新缺少异常规范 1305:使用 --force_new_nothrow:添加了“(::std::nothrow)” 1307:不允许使用 --fpu=none 的浮点参数 1308: 必须__packed__packed类的基类 1309:无法识别的 UPC 编译指示 1310:共享块大小与先前指定的块大小不匹配 1311:括号内的表达式被假定为块大小规范,而不是数组维度 1312: 共享阵列的块大小必须大于零 1313:不允许多个块大小 1314:严格或宽松需要共享 1315:在此上下文中不允许使用线程 1316: 指定的块大小超出了 1317:不允许函数返回共享 1319:当线程数非常数时,共享类型数组的一个维度必须是 THREADS 的倍数 1320:不允许在结构或联合中使用共享类型 1321:参数可能没有共享类型 1322:动态 THREADS 维度需要确定的块大小 1323:共享变量必须是静态的或外部的 1324:upc_blocksizeof的参数是指向共享类型(不是共享类型本身)的指针 1325:嵌套upc_forall中忽略的亲和力表达式 1326:不允许分支到upc_forall环路或分支出 1327:亲和表达式必须具有共享类型或指向共享类型 1328:关联具有共享类型(不是指向共享的指针) 1329:共享的空洞*类型只能进行比较以达到相等性 1330:UPC 模式与 C++ 和 K&R 模式不兼容 1331:忽略输入行中的空(零)字符 1332:字符串或字符常量中的空(零)字符 1333:标头名称中的空(零)字符 1334:for-initializer 中的声明隐藏了周围作用域中的声明 1335:隐藏的声明是 1336:fd 的原型声明在重新声明后被忽略 1338:pd 必须具有外部 C 链接 1339:变量声明隐藏 for-initializer 中的声明 1340:typedef 不能用于详细说明的类型说明符 1341:忽略零常量的调用 1342:参数不能在函数 try 块的 catch 子句中重新声明 1343:必须在包含模板的命名空间中声明的初始显式专用化 1344:\“cc\” clobber 被忽略 1345:“template”后面必须跟一个标识符 1346:在此上下文中不允许使用 MYTHREAD 1347:布局限定符无法限定指向共享的指针 1348:布局限定符无法限定不完整的数组 1349:声明隐藏处理程序参数 1350:忽略非标准强制转换为数组类型 1351:此编译指示不能在_Pragma运算符中使用(必须使用 #pragma 指令) 1352:字段使用基类的尾部填充 1353:GNU C++ 编译器可能使用位字段填充 1355: 抽象类 具有非虚拟析构函数,在指向此类的指针上调用 delete 是未定义的行为 1356:非静态成员声明中不允许使用 ASM 名称 1357:使用 的地址静态初始化 可能会导致链路失败 -ropi 请参阅错误编号 1359。 1358:对于 ROPI,不能降低使用 地址的外部常量 的静态初始化 1359: 使用地址对进行静态初始化可能会导致链路故障 -rwpi 警告 1357 和 1359 突出显示了与位置无关 (PI) 的代码构造,这些构造可能会导致后续链接步骤失败。 使用 --apcs /ropi 编译时,以下代码: char *str = "test"; /* global pointer */结果显示以下消息: Warning: #1357-D: static initialisation of variable "str" using address of string literal may cause link failure --ropi因为全局指针 str 必须初始化为 .constdata 部分中 char 字符串测试的地址,但绝对地址不能在 PI 系统中使用。 使用 --apcs /rwpi 编译时,以下代码: int bar; int *foo = &bar; /* global pointer */结果显示以下消息: Warning: #1359-D: static initialisation of variable "foo" using address of bar may cause link failure --rwpi因为全局指针 foo 必须初始化为 .data 部分中 bar 的地址,但绝对地址不能在 PI SYSTEM 中使用。 以下解决方法是可能的: 更改代码以避免使用全局指针。例如,您可以改用全局数组或本地指针。 在运行时进行初始化,例如: int bar; int *foo;然后在设置 foo = &bar; 的函数中编写代码。这是因为在生成代码而不是静态初始化数据时,编译器可以绕过 ROPI/RWPI 约束。 另请参阅链接器错误 L6248E。 1360:对于RWPI,不能降低使用地址的外部常量的静态初始化 例如,当使用 --apcs /rwpi 编译时: extern int y; int* const x = &y; int* foo() { return(x); }生成警告,因为 Y 前面加上 extern 会阻止编译器在变量 x 和 y 之间定义直接地址偏移。 1361: 被宣布为“已弃用” 1362:忽略无法识别的格式函数类型 1363:基类 使用基类 的尾部填充 1364:“init_priority\”属性只能用于定义类类型的静态数据成员和命名空间范围变量 1365:请求的初始化优先级保留供内部使用 1366:这个匿名的联合/结构字段被 1367:无效的错误号 1368:无效的错误标记 1369:应为错误号或错误标记 1370:类的大小受尾部填充的影响 1371:标签只能在函数定义中引用 1372:不允许将控制权转移到语句表达式中 1374:此语句不允许在语句表达式中 1375:语句表达式中不允许使用非 POD 类定义 1376:语句表达式中不允许存在可破坏的实体 1377:语句表达式中不允许使用动态初始化的局部静态变量 1378:语句表达式中不允许有可变长度的数组 1379:默认参数中不允许使用语句表达式 1381: 结果操作数的类型比实际结果窄 1382:指向函数的指针和指向数据的指针之间的非标准转换 1383:接口类型不能有虚拟基类 1384: 接口类型不能指定“私有”或“受保护” 1385:接口类型只能派生自其他接口类型 1386: 是接口类型 1387:接口类型不能有 typedef 成员 1388: 接口类型不能有用户声明的构造函数或析构函数 1389:接口类型不能有用户声明的成员算子 1390:不能在函数中声明接口类型 1392:接口类型不能有数据成员 1393:接口类型不能包含友元声明 1395:接口类型不能是嵌套类类型 1396:接口类型不能有成员模板 1397:接口类型不能有静态成员函数 1398:此编译指示不能在__pragma运算符中使用(必须使用 #pragma 指令) 1399:限定符必须是 1400:声明必须对应于指定基类中的纯虚拟成员函数 1401:由于 1402:内部计算中的整数溢出 1403:__w64 只能在 int、long 和指针类型上指定 1404:在 int、long 或指针类型宽度为 64 位的环境中编译时,可能会缩小转换范围 1405:编译指示包的当前值为 1406:忽略 pragma pack(show) 的参数 1409:忽略较早的 __declspec(align(...)) 1410:应为 属性参数的参数值 1411: 属性参数的参数值无效 1412:应为 属性参数的布尔值 1413: 位置参数不能跟在属性中的命名参数后面 1414:属性没有名为 的参数 1415:预期为 属性的参数列表 1416:应为“,”或“]” 1417:属性参数 已被赋予值 1418:无法将值分配给 属性 1419: 抛出表达式可能没有指向不完整类型的指针 1420:应用于不完整类型的对齐运算符 1421:只能用作独立属性 此处不能使用 1422: 属性 1424:此处不允许使用属性 1425: 属性参数的参数值无效 1426:属性参数过多 1427:不允许从不可访问的基类转换 1428:“导出”选项需要不同的模板签名 1429:具有不同字符类型的字符串文字不能连接 1430: GNU 布局错误未被模拟,因为它将虚拟基础 置于 对象边界之外 1431:虚拟基础放置在对象边界之外 1432:命名空间成员声明中的非标准限定名称 1433:忽略对齐减少 1434:忽略 const 限定符 1436:__breakpoint 参数必须是整数编译时常量 1437:__breakpoint 编译 ARM 时,参数必须在 0-65535 之间 1438:__breakpoint 编译 Thumb 时,参数必须在 0-255 之间 1439:目标体系结构/处理器不支持 BKPT 指令 1440:超大位域布局将更改 -- 请考虑以“:0;”开头 1441:左值上的非标准铸造 C 规范指出“赋值运算符应具有可修改的左左值”和“强制转换不产生左值”。 1442:如果要将多态基类用于导出派生,则需要导出它们 1443:需要导出通过虚拟派生继承的多态基类 1444:通过虚派生继承的多态基类需要导出所有虚函数 1445: 无效的 GNU asm 限定符 1446:通过省略号传递的非 POD 类类型 1447: 非 POD 类类型无法被va_arg提取 ISO C++ 标准定义可变参数函数的非必需参数必须是普通旧数据 (POD) 类型,例如 int 或 char,但不能是结构或类。 为了避免错误或警告,可以改为提供类或结构的地址。 1448:在定点文字中,“u”或“U”后缀必须出现在“l”或“L”后缀之前 1449:选项“fixed_point”只能在编译 C 时使用 1450: 整数操作数可能导致定点溢出 1451:定点常数超出范围 1452:定点值无法准确表示 1453:常量对于长长来说太大;给定无符号长长类型(非标准) 1454:布局限定符无法限定指向共享无效的指针 1455:多维数组类型的重复 THREADS 1456: 强 using 指令可能只出现在命名空间作用域中 1457:声明一个非模板函数 -- 添加以引用模板实例 1458:操作可能导致定点溢出 1459:表达式必须具有积分类型、枚举类型或定点类型 1460:表达式必须具有整数或定点类型 1461:用“noreturn”声明的函数返回 1462:ASM 名称被忽略,因为它与以前的声明冲突 1463:类成员 typedef 不能重新声明 1464:获取临时地址 1465:属性在不是定义的类声明中被忽略 1466:隐式转换为浮点类型的定点值 1467:定点类型没有分类 1468: 模板参数可能没有定点类型 1469:不允许使用十六进制浮点常量 1470:选项“named_address_spaces”只能在编译 C 时使用 1471:浮点值不适合所需的定点类型 1472:值不能完全转换为定点值 1473:定点转换导致符号变化 1474:整数值不适合所需的定点类型 1475:定点运算结果超出范围 1476:多个命名地址空间 1477:具有自动存储持续时间的变量不能存储在命名地址空间中 1478:不能使用命名地址空间限定类型 1479:函数类型不能用命名地址空间限定 1480:字段类型不能用命名地址空间限定 1481:定点值不适合所需的浮点类型 1482:定点值不适合所需的整数类型 1483:值不适合所需的定点类型 1484:选项“named_registers”只能在编译 C 时使用 1485:此处不允许使用命名寄存器存储类 1486:使用不兼容的命名寄存器存储类重新声明 1487:不能为别名变量指定 named-register 存储类 1488:named-register 存储说明符已在使用中 1489:选项“embedded_c”不能与控制单个嵌入式 C 功能的选项组合使用 1490:无效EDG_BASE目录: 1492: 行的预定义宏条目无效: 1493: 无效的宏模式名称 1494:预定义宏的不兼容重定义 1495:重新声明缺少命名寄存器存储类 1496:命名寄存器对于变量的类型来说太小 1497:不能使用命名寄存器存储类声明数组 1498:const_cast枚举类型是非标准的 1499:选项“embedded_c”只能在编译 C 时使用 1500:__svc 参数 不在 Thumb SVC 指令的允许范围内(0 到 ) 1501:__svc或__svc_indirect函数的参数过多 1502:__svc或__svc_indirect函数的参数必须具有整数类型 1503:__svc_indirect函数必须有参数 1504:函数的第一个参数必须具有整__svc_indirect类型 1505:__svc或__svc_indirect函数的结果必须在整数寄存器中返回 1506:源文件格式不正确 1507:写入 文件时出错: 1508:不能重载仅由函数限定符区分的函数 1509:函数限定符 不允许在虚拟成员函数上使用 1510:函数“__attribute__((____))”存在于覆盖的虚函数上必须存在于覆盖函数上 1511:函数限定符 在重写的虚拟函数 上不相同 1512:函数限定符 存在于覆盖的虚函数 上必须存在于覆盖函数上 1513:此处不允许使用命名地址空间限定符 1514: 空初始值设定项对于未指定绑定的数组无效 1515:函数返回不完整的类类型 1516: 已初始化;类外初始值设定项将被忽略 1517:声明隐藏 1518: 不能在命名地址空间中分配参数 1519:定点或浮点常量上的后缀无效 1520: 寄存器变量不能在命名地址空间中分配 1521:预期的“SAT”或“默认” 1522:没有相应的成员运算符 delete(如果在初始化已分配对象期间引发异常,则调用) 1523: 线程局部变量不能用“dllimport”或“dllexport”声明 1524: 函数返回类型不能使用命名地址空间进行限定 1525: 不能为元素具有非平凡析构函数的灵活数组成员指定初始值设定项 1526: 不能为间接灵活数组成员指定初始值设定项 1527:无效的 GNU 版本号: 1528:忽略在带括号的初始值设定项之后出现的变量属性 1529:此转换的结果不能用作左值 1530:否定无符号定点值 1531:此时不允许使用此运算符;使用括号 1533:寄存器名称只能用于寄存器变量 1534:named-register 变量不能具有 void 类型 1536:参数不能有链接范围说明符 1537:多链接范围说明符 1538:链接范围说明符只能出现在具有外部链接的函数和变量上 1539:重新声明不能削弱链接范围 1540:此声明不允许使用链接范围说明符 1541:全局范围声明中的非标准限定名称 1542:将 64 位整数类型隐式转换为更小的整数类型(潜在的可移植性问题) 1543:将 64 位整数类型显式转换为较小的整数类型(潜在的可移植性问题) 1544:从指针转换为相同大小的整数类型(潜在的可移植性问题) 1546:类定义中不允许使用友元说明符;忽略友元说明符 1547:只有静态变量和外部变量可以使用线程本地存储 1548:多个线程本地存储说明符 1549:未定义虚拟(并且无法在其他地方定义,因为它是未命名命名空间的成员) 1550:注释或字符/字符串文本之外的源行中的回车符 1551:表达式必须具有定点类型 1552:访问说明符的无效使用被忽略 1553:指针转换为布尔值 1554:指向成员的指针转换为 bool 1555:存储说明符被忽略 1556:在类模板上忽略 DLLEXPORT 和 DLLIMPORT 1557:基类 DLLexport/DLLIMPORT 规范与派生类的规范不同 1558:重新声明无法将 dllexport/dllimport 添加到 如果禁止显示此消息,则行为就像省略了 dllexport 或 dllimport 一样。例如: void f(void); __declspec(dllimport) void f(void) { } /* suppress treats as void f(void) { } */1559:假定 dllexport/dllimport 与 od; dllexport 冲突 这表示实体同时标记为 dllimport 和 dllexport。在这种情况下,编译器假定实体是 dllexport。 在以下示例中,函数定义 foo() 与声明 __declspec(dllimport) void foo() 冲突。在这种情况下,编译器假定 dllexport。 ---test.cpp--- __declspec(dllimport) void foo(); void foo() { } ------------ armcc -c test.cpp "test.cpp", line 3: Warning: #1559-D: dllexport/dllimport conflict with "foo" (declared at line 1); dllexport assumed fromelf -s test.o ... # Symbol Name Value Bind Sec Type Vis Size ==================================================================== 6 _Z3foov 0x00000000 Gb 1 Code Pr 0x4 ...警告消息和符号可见性表明函数 foo() 是假定为 dllexport 的。 1560:无法定义 dllimport 实体 1561:DLLexport/DLLIMPORT 需要外部链接 1562:用 dllexport/dllimport 声明的类的成员本身不能用这样的说明符声明 1563:在具有 DLL 接口的类中使用不带 DLL 接口的类类型的字段 1564:括号内的成员声明不规范 1565:忽略行拼接中的反斜杠和换行符之间的空格 1566:dllexport/dllimport 与 od; dllimport/dllexport 冲突已删除 1567: 匿名成员类的无效成员 -- 类具有不允许的成员函数 1568:非标准reinterpret_cast 1569:位置格式说明符不能为零 1570: 局部类无法从封闭函数引用可变长度数组类型 1571:成员已具有显式 dllexport/dllimport 说明符 1572: 函数返回类型中不允许使用可变长度数组 1573:指向类型为 的成员的指针中不允许使用可变长度数组类型 1574: 语句表达式的结果不能具有涉及可变长度数组的类型 1575:内联汇编程序不支持加载/存储转换。使用嵌入式汇编程序或离线汇编程序 1576: 内联汇编程序不支持标志设置乘法指令。使用嵌入式汇编程序或离线汇编程序 1577:内联汇编程序不支持使用常量操作数设置标志的 MOV/MVN 指令。使用嵌入式汇编程序或离线汇编程序 1578: 自动变量上忽略 ASM 名称 1579:无法内联:未知的异常处理代码 1581:无法优化:此函数禁止循环分析 - 需要最大值作为内部函数 1582:无法优化:此可变大小专用数组禁止并发 1583: 不允许写入输出文件。输出抑制 1584:无法优化:无法转换临时变量 1585:与功能相关的错误 1586:用户禁用一个循环中的混合数据大小 1587:无法优化:此行中的数据类型会阻止循环优化 1588:无法优化:无法转换此循环出口 1589:非法数组维度 1590:无法优化:太大而无法优化 - 减小文件或循环大小 1591:非法算术表达式 1592:不平衡括号 1593:无法优化:使用无符号索引会阻止优化 1594:无法优化:循环参数必须为整数才能进行完全优化 1595:内在函数的参数数量非法 1596:无法优化:函数引用阻止高级循环优化 1597:不允许长度为 0 的字符串 1598:无法优化:从一个循环传递到另一个循环传递的标量值反馈 1599:无法优化:没有足够的有用工作来优化 1600:无法优化:无法转换此类型转换 1601:不正确的 elseif 语句 1602:非法子程序 1603:循环嵌套不当 1604:无法优化:引用此函数会禁止优化 1605:语句将行扩展超过缓冲区的大小 1606:写入输出文件时出现问题 -- 检查权限 1607:数组未声明 1608:切换错误 - 关键字不正确 1609:无法优化:例程对于某些优化来说太大 1610:环路没有出口 1611:规范语句中的语法非法 1612:无法优化:潜在的多存储冲突 1613:无法优化:多存储冲突 1614:非法符号 1615:无法优化:循环迭代之间的潜在反馈 1616:无法优化:数组元素的反馈 1617:无法优化:循环太复杂 1618:无法优化:具有非单位步幅的混合数据类型 1619:声明和使用的下标数量不匹配 1620:内部故障:转换失败。请联系您的供应商 1621:优化:消除死代码 1622:未引用的标签 1623:缺少标签 1624:无法优化:重叠条件过多,无法进行高效翻译 1625:未处理条件散射 1627:无法优化:循环参数太复杂 1628:无法优化:字符数据类型阻止优化 1629:无法优化:迭代计数太短,无法进行数组优化 1630:缺少> 1631:未知语句 1632:优化:取消了提升标量 1633:没有为此符号提供隐式数据类型 1634:无法优化:分支到循环 1635:无法优化:循环嵌套太深 1636:无法优化:变量的复杂使用 1637:未知编译指示 - 忽略 1638: 无法确定临时标量的最后一个值 1639:如果可能,使用 nolstval 指令 1640:无法优化:在不同条件下使用标量会导致反馈 1641:无法优化:数据依赖关系问题过多 1642:可能无法优化:由于等效性,可能存在数据依赖性 - 请检查 1643:优化:推广环绕标量 1644:预期的左括号 1645:预期的变量名称 1646:预期的数组下标 1647:预期的右括号 1648:预计生产线结束 1649:等价错误 1651:无法优化:此循环中使用的数据类型不可用 1652:全局流遍历(前向)失败 1653:全局流遍历(向后)失败 1654:形式参数可能不等价 1655:优化:使用运行时单位步幅测试制作的矢量版本 1656:编译指示语法中的问题 1657:内在函数参数的类型错误 1658:硬件不支持 32 位整数乘法 1659:无法优化:存储重叠加载 - 无法分析对齐方式 1661:无法优化:无法优化向后传输 1662:无法优化:需要提升标量的最后一个值 1663:无法优化:循环外的分支阻止转换 1665:优化:消除重复子表达式 1666:参数形状不匹配 1667:间接寻址已关闭 1668:优化:阵列去线性化 1669:非法函数语句 1670:优化:if循环转换为for循环 1671:找不到输入文件 1672:无法优化:不支持大于 int 的数据大小 1673:优化:If 循环转换为 while 循环 1674:不允许使用假定的形状、大小、可分配或指针 1675:无法优化:外循环已使用循环索引 1676:无法优化:此语句阻止循环优化 1677: 内部错误:未知的词法处理状态。请联系您的供应商 1678:无法优化:此循环无法进行矢量化 1679:优化:循环矢量化 1680:共同数组的维数值必须为常数 1681:开关输入错误 1682:无法优化:拆分条件缩减会阻止循环转换 1683:无法优化:存储到函数中 1684:忽略数组上的 & 运算符 1685:操作数和运算符不匹配 1686:无法优化:冒号语法阻止分析 1687:无法优化:约简函数被抑制 - 需要关联转换 1688:已解决不明确的下标问题 1689:不支持的操作 1690:无法优化:显式向量运算不支持的数据类型 1691:优化:循环与上一个循环融合 1692:空 int 1693:零大小的物体 1694:无法优化:循环过大 1695:非法字符: 1696:数组元素的反馈,第 %s1 行发生冲突。(%s2) 1697:无法优化:此 I/O 语句阻止循环优化 1698:回报不可优化 1699:停止不可优化 1700: 不能为常量参数赋值 1701:优化:使用分支删除 1702:已使用但此时未定义的变量 1703:未使用此定义 1704:此处不允许使用用户功能 1705:已使用但从未定义的变量 1706:非法声明 1707:无法优化:分支太复杂,无法在此优化级别进行优化 1708:无法优化:行太长 - 拆分为更小的行 1709:无法优化:条件标量阻止优化外部循环 1710:无法优化:迭代计数中的用户函数引用 1711:空循环体 1712:内部临时淘汰 1713:无法优化:外部循环设置内部循环迭代计数 1714:无法优化:外循环有条件地执行内循环 1715:无法优化:自动阵列阻止内联扩展 1716:无法优化:行太长 - 拆分为更小的行 1717:内部故障:程序转换停止。请联系您的供应商 1718:无法优化:与循环变量关联的指针会阻止分析 1719:自动阵列不能放在公共区域 1720:无法优化:此语句禁止循环转换 1724:用户逻辑指令阻止翻译 1729:存储到位宽变量的潜在位溢出 1730:沿此循环未执行索引 1731:无法优化:内部依赖产生外部依赖 1732:常量是数字或字符过多 1733:在指令中使用但未声明的数组 1734:不平衡端 1735:缺少 endif(s) 1736:无法优化:分支到 if 块 1739:编译指示后面的多余字符 1740:变量已定义但从未使用 1741:无法优化:潜在反馈(等价) 1742:无法优化:数组元素的反馈(等价数组) 1743:无法优化:循环参数在循环中重置 1745:无法优化:由于指针导致的潜在数据依赖性,如果正常,请使用限制限定符 1746: 子程序名称不能用作变量 1749:函数引用中的参数数量不一致 1750:优化:循环重新滚动 1751:可能无法优化:输入包含保留字 1752:非法使用 = 1754:不处理 Dim 和 mask 参数 1755:无法优化:无法处理这些向量常量 1756:无法优化:无法转换此转换函数 1757:优化:处理此函数所需的关联转换 1759:无法优化:非单位步幅干扰矢量优化 1760:此指令的指定范围无效 - 忽略 1771:无法优化:挥发性项目阻止分析 1773:无法优化:生成的表达式太复杂 1774:超出优化后允许的最大符号数 1775:无法优化:GNU 扩展阻止内联 1789:无法优化:数组维度太小,无法优化 1790:无效的参数语句 1791:未找到例程的源 1792:读取扩展文件时出错 1793:扩展例程太大,无法自动扩展 1794:解析扩展例程时遇到错误 1795:扩展调用时的参数表达式无效 1796:参数目录表溢出 1797:调用和扩展例程之间的参数不匹配 1798:无法优化:嵌套级别太深,无法自动扩展 1799:内部故障:生成的新标签过多。请联系您的供应商 1800:无法优化:超出了扩展函数的最大数量 1801:优化:功能扩展 1802:在输入文件中找不到函数的源 1803:无法优化:循环增量为 0 1805:无法优化:未处理位常量 1807:无法优化:内联扩展中的表溢出 1808:变量仅作为形式参数出现 1809:扩展例程中的函数与非函数冲突 1810:迭代计数表达式中的溢出 1811:赋值语句左侧的参数常数 1812:参数数量冲突的函数引用 1813:函数定义冲突 1814:无法优化:代码大小影响优化 1816:缺少 if 或大括号 1819年:缺少 的结尾 1820: 这两种数据类型之间无法转换 1821:逻辑表达式错误 1822:无法优化:数据太复杂,无法进行此缩减操作的矢量化 1823:无法优化:函数作为参数传递 1824:无法优化:没有足够的向量运算来证明翻译的合理性 1825:无法优化:无法矢量化复杂条件 1826:无法优化:并行语法阻止扩展 1828:在这种情况下,字符是非法的 1829:无法优化:字节数据类型不支持矢量化 1831:优化:常数传播 1832年:定义已删除 1833:生成函数的声明冲突 1834:打开输出文件时出错(权限可能被拒绝) 1835:指令放置不当 - 被忽略 1838:排列指令的不恰当参数 - 被忽略 1840年:算术运算的顺序可能已更改 1841年:此循环需要剥离挖掘 1842:重复的重新维度声明 - 指令被忽略 1843:扩展例程中的重复标签 1844年:扩展例程中的标签过多 1845:算术表达式减少为非法除以 0 1846:整数常数不在允许的范围内 1847:无法优化:使用指针变量 1849:参数必须是非负整数常量或参数 1850:无法优化:展开参数过大 1853:无法优化:循环包含太多语句,无法展开 1858:无法优化:约简标量类型不匹配 1861:无法优化:此存储到数组中会阻止优化外部循环 1864:无法优化:没有足够的工作来证明并发优化的合理性 1866:无法优化:非整数下标 1877:无法优化:在循环外使用循环索引 1885:无法优化:循环边界超出数组尺寸 1886:优化:使用并行截面优化的循环 1887年:需要预订 1888:无法优化:矢量化数据类型不合适 1889:无法优化:由于程序大小,禁止生成备用代码 1890:嵌套大于 9 的命令文件 1891:程序语句无效 1892:无法优化:使用逻辑数组会阻止矢量化 1893:-k 选项中的错误 -- 忽略 1894:优化:为了避免依赖,迭代从循环中剥离出来 1895:优化:如果消除,则为冗余 1896年:优化:简化逻辑子句 1902年:实际参数维度小于临时参数维度 1903:参数的数据类型不匹配 1904:无法优化:标量实际参数传递给临时数组参数 1909:无法优化:临时数组的宽度与实际数组的宽度不匹配 1910:无法优化:语句抑制扩展 1911:无法优化:用作函数引用的子例程 1912:无法优化:调用语句中使用的函数阻止扩展 1913年:指令中的参数列表不正确 1915:无法优化:Switch 使用字符参数抑制扩展 1916:无法优化:常量参数抑制内联扩展 1917:无法优化:常量参数是读取的目标 1918:无法优化:用户并行指令禁止转换 1919:无法优化:无法确定字符子字符串长度 1920:不允许在 include 语句上使用标签 1921:可在定义之前使用 1922:无法优化:无法确定临时数组和/或实际数组的宽度 1923:无法优化:如果语句未展开,则算术中的函数 1924:实际阵列宽度和临时阵列宽度之间的潜在差异 1925年:非法使用未下标的阵列 1926年:不能在赋值的左侧有常量或函数 1927年:赋值左侧的参数是非法的 1928年:作业的左侧有1个以上的操作数 1930年:预期等号,忽略行的余数 1931年:预期的右括号,假设一个 1932:无法优化:自动扩展的符号太多 1933年:无法优化:传递给 do-loop 索引的数组或常量参数会阻止扩展 1935年:指令具有无效或缺失的参数列表 1936:预期的正整数 - 无效的参数 1937:预期变量 - 参数无效 1938:未找到变量 1939年:表溢出 1942:无法优化:没有足够的可矢量化工作来证明翻译的合理性 1945年:无法优化:找到内联装配块 1947:无法优化:无法转换数据类型和操作的这种组合 1948年:PGO:热循环;优化默认值被覆盖。 1949年:PGO:冷回路;优化被抑制。 1950年:PGO:热函数;优化默认值被覆盖。 1951年:PGO:冷功能;优化被抑制。 1952年:PGO:热回路;不变IF去除完成。 1953年:PGO:冷回路;抑制不变的IF去除。 1954年:PGO:热循环;默认内联条件被覆盖。 1955年:PGO:冷回路;内联抑制。 1956年:PGO:热循环;启用展开。 1970:无法优化:符合性问题 1971年:不允许重复开关参数 1972:无法优化:语句函数包含优化抑制剂 1973年:优化:在内部循环之外移动不变 1974年:优化:剥离内环,剥离环移出外环 1975年:无法优化:存储到缺少下标的数组中会抑制外部循环 1976年:无法优化:无法使条件数组符合 1977年:无法优化:内循环问题阻止了外循环的优化 1978:无法优化:无法优化用户选择的循环 1979:无法优化:此操作禁止循环转换 1980年:优化:在外循环之外移动不变 1981年:无法优化:不兼容的选项(固定、免费)阻止扩展 1982年:无法优化:不兼容的选项(onetrip、noonetrip)阻止扩展 1983年:无法优化:不兼容的选项(混合、混合)阻止扩展 1984年:无法优化:不兼容的选项(autodbl)阻止扩展 1985年:优化:循环切碎(大小) 1986年:优化:循环斩断(固有) 1987年:优化:循环切换 1988年:优化:生成替代代码 1991年:数据语句中数据项多于变量 1992年:数据语句中的变量多于数据项 1993年:参数数量不匹配 1994年:参数数据类型不匹配 1995年:常量或表达式传递给修改后的变量 1997年:优化:展开恒定长度循环 1999:优化:循环将被拆分,以避免数组之间的缓存冲突 2000:声明了局部变量,但从未使用 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |