r******s 发帖数: 925 | 1 通常涉及到real-time部分,一方面要考虑代码的可维护性,
一方面要考虑到系统的哦执行时间,大家觉得怎么取舍?
比方说要读写100个地址,如果用循环,每次循环要多运算好多东西
for (i=0; i <100; i++)
read[i] = *(*****+i);
但是要是用
read[0] = *(******00);
read[1] = *(******01);
会让代码很长不好维护
一般我是用后者的,即使只读10个地址(对系统影响很小)。
各位有没有什么其他的观点?
每一个小地方节约几个CPU周期,整个系统就会提高很大的效率。
或者,硬件升级很快,不用把代码搞得这么冗长? |
r******s 发帖数: 925 | 2 好像用macro也减少不了多少复杂度
【在 r******s 的大作中提到】 : 通常涉及到real-time部分,一方面要考虑代码的可维护性, : 一方面要考虑到系统的哦执行时间,大家觉得怎么取舍? : 比方说要读写100个地址,如果用循环,每次循环要多运算好多东西 : for (i=0; i <100; i++) : read[i] = *(*****+i); : 但是要是用 : read[0] = *(******00); : read[1] = *(******01); : 会让代码很长不好维护 : 一般我是用后者的,即使只读10个地址(对系统影响很小)。
|
l***g 发帖数: 1035 | 3 what's wrong with memcpy
【在 r******s 的大作中提到】 : 通常涉及到real-time部分,一方面要考虑代码的可维护性, : 一方面要考虑到系统的哦执行时间,大家觉得怎么取舍? : 比方说要读写100个地址,如果用循环,每次循环要多运算好多东西 : for (i=0; i <100; i++) : read[i] = *(*****+i); : 但是要是用 : read[0] = *(******00); : read[1] = *(******01); : 会让代码很长不好维护 : 一般我是用后者的,即使只读10个地址(对系统影响很小)。
|
r******s 发帖数: 925 | 4 实际上不是连续的地址操作,不过program版的一位大牛给我了一个很好的答案
【在 l***g 的大作中提到】 : what's wrong with memcpy
|
c******a 发帖数: 600 | |