- 论坛徽章:
- 0
|
我要测量下某一段汇编代码的大小,比如占了多少字节。这段代码是内嵌在GCC的C文件里的。下面是一个例子:
extern char handler[], endhandler[]; /* C-code glue for the asm insert */
/* asm to "freeze" the processor - hey kiddies */
asm(
".data\n"
".code16\n"
".globl handler, endhandler\n"
"\n"
"handler:\n"
"nop\n"
"nop\n"
"nop\n"
"jmp handler\n"
"endhandler:\n"
"\n"
".text\n"
".code32\n"
);
int main(void) {
unsigned int ACPIBASE;
u8 smram_origvalue, smram_tmp;
u32 smi_en_io, smi_sts_io, smi_en_origvalue, smi_en_tmp;
int err;
。。。。。。。。。
}
我发现在编译的时候,GCC会产生一个临时的.S文件。但是在编译完后,这个文件似乎就被删除了。否则的话,我也许可以直接看看哪个.S文件占了多少字节。
不知道还有其他什么办法没有?最土的办法是让GCC产生个大的.S文件,然后自己数下中间的我需要的汇编部分占了多少字节。但是我的实际代码会比上面的例子复杂4,5倍。弄起来有点麻烦。
有更简单的方法么?多谢! |
|