csl_cache.h里面有一个宏定义:
#define CACHE_ROUND_TO_LINESIZE(CACHE,ELCNT,ELSIZE) \
((CACHE_##CACHE##_LINESIZE * \
((ELCNT)*(ELSIZE)/CACHE_##CACHE##_LINESIZE + 1)) / \
(ELSIZE))
我的程序里面使用这个宏定义所生成的BUFFER大小不是CACHE_##CACHE##_LINESIZE(128)的倍数,请问这是什么原因造成的呢?
Denny%20Yang99373:
根据具体代码分析一下
函数里有没有补成128?或者不配成128也可以?
user3862771:
回复 Denny%20Yang99373:
根据那个宏定义算出来不是128的倍数,比如:CACHE_ROUND_TO_LINESIZE(L2,720*180,sizeof(unsigned char)),这个算出来的数是多少?