段定义、过程定义、数据定义、局部变量、注释、空行... 肯定都不算,只有生成机器指令的才算。x64平均指令长度可能要比32位模式下长一些,但是也应该超不过4字节。
我用W32Dasm反汇编工具试了几个VC2010控制台程序,release版一百多K,去掉自定义的图标文件大小,大概一百零几K,反汇编出来大概4万行,两者相除,平均每条指令大概2.75字节(不知道这样计算方法对不对?)用BCB 6.0(用80386指令集)编译的Windows程序,950多K,只有少量图标资源,反汇编代码40几万行,直接相除,平均每条指令2.25字节。 不知道和x86相比,x64平均每条指令大概多少字节?
我刚才在Win10 64位下使用dumpbin反汇编100264字节的64位pickerhost.exe,结果为24222行,1320894字节。
刚刚反汇编了win10/64中一个99.5K(101888字节)的程序systeminfo.exe,IDA输出的.asm大小425K,42959行,其中很多是数据定义,代码部分大约24000多行,去掉过程头尾声明、局部变量声明、空行、标号占据的行、注释等等,大约40%,剩余真正指令占用的行数,大约14000多行。
[quote=引用 7 楼 u010165006 的回复:] 我用W32Dasm反汇编工具试了几个VC2010控制台程序,release版一百多K,去掉自定义的图标文件大小,大概一百零几K,反汇编出来大概4万行,两者相除,平均每条指令大概2.75字节(不知道这样计算方法对不对?)用BCB 6.0(用80386指令集)编译的Windows程序,950多K,只有少量图标资源,反汇编代码40几万行,直接相除,平均每条指令2.25字节。 不知道和x86相比,x64平均每条指令大概多少字节?
15,440
社区成员
58,167
社区内容
加载中
试试用AI创作助手写篇文章吧