8051에서는 for문으로 돌리면 용량이 팍팍 줄어드는데..
x86 intel visual studio 에서 컴파일 하면 용량이 차이가 전혀 나지 않는다

#include "stdio.h"

void main()
{
	int idx = 0;
	char temp = 0xAA;
#if 1
	for(idx = 0; idx < 8;idx ++)
		printf("%d\n",temp & (0x01 << idx));
#else
	printf("%d\n",temp & 0x01);
	printf("%d\n",temp & 0x02);
	printf("%d\n",temp & 0x04);
	printf("%d\n",temp & 0x08);
	printf("%d\n",temp & 0x10);
	printf("%d\n",temp & 0x20);
	printf("%d\n",temp & 0x40);
	printf("%d\n",temp & 0x80);
#endif
}

어찌된게.. for문으로 돌리던, 그냥 하던 4개를 주석처리하던 용량은 똑같은 40,960 바이트이다
자체 압축을 지원한다고 해도 한두바이트 정도는 차이가 나지 않을까 싶긴한데..
그게 아니라면 블럭단위로 저장을 해서 티가 안나는 것일려나.. (정확하게 40KB이다)

 



Posted by 구차니

댓글을 달아 주세요