C 优化多个堆叠循环
我目前正在重构一个旧程序,在寻找优化某段代码的方法时遇到了麻烦 其主要目的是在嵌入系统时,降低内存使用率,而不是降低性能C 优化多个堆叠循环,c,arrays,for-loop,struct,C,Arrays,For Loop,Struct,我目前正在重构一个旧程序,在寻找优化某段代码的方法时遇到了麻烦 其主要目的是在嵌入系统时,降低内存使用率,而不是降低性能 for(n = 0; n < NUMBER_VARS_IN_STRUCT1; n++) { int m; for(m = 0; m < NUMBER_OF_LANGUAGES; m++) { UnicodeStrC
for(n = 0; n < NUMBER_VARS_IN_STRUCT1; n++) {
int m;
for(m = 0; m < NUMBER_OF_LANGUAGES; m++) {
UnicodeStrCat(2, tx_data_1, struct1.var1[n][m], L"\r\n");
SendSerialUserData(UNICODE);
}
for(m = 0; m < 4; m++) {
sprintf(ansicode_text, "%.8f\r\n", (double) struct1.var2[n][m]);
StrAnsiToUnicode(tx_data_1, ansicode_text);
SendSerialUserData(UNICODE);
}
for(m = 0; m < 4; m++) {
sprintf(ansicode_text, "%.8f\r\n", (double) struct1.var3[n][m]);
StrAnsiToUnicode(tx_data_1, ansicode_text);
SendSerialUserData(UNICODE);
}
for(n=0;n
代码要长得多(大约250行相同类型的代码),然后以类似的方式重复代码,以便将数据读回设备
我曾认为,减少内存使用的解决方案可能是对数组进行硬编码,以保存指向每个结构中每个数组值的指针(或者如果我知道每个数组的大小,那么我可以增加指针位置),然后通过简单地循环来大幅度减少代码大小
该功能的输出是通过串行总线打印出一个大的数据表
提前感谢您提供的任何帮助您提出的解决方案对我来说很好。您想减少哪些内存,数据还是指令?我想减少数据内存,但我原以为使用const可以节省指令内存,而不会真正增加数据内存。