我现在做了个编码工具,简单的说就是把源程序(标准C写的)经过编码后变成另外一个程序(也是C代码),使程序的安全性得到提高,当然运行速度会变慢。
但现在我遇到的问题是:我在VC.60和VxWorks5.0下分别做了一个效率测试,测试结果如下:
在VC6.0下,源程序运行时间是: 20左右,编码后的程序运行时间是: 210左右; (即效率降低10倍左右)
在VxWorks下,源程序运行时间是:40左右,编码后的程序运行时间是:4300左右;(即效率降低100倍左右)
为什么两种环境下源程序与编码后的程序运行效率的降低比不一致呢?
需要说明的是:在VC6.0下,首次运行源程序时的时间为:35左右,首次运行编码程序时的运行时间为:3500左右,这时的效率降低比和在VxWorks下的情况基本一致。但VxWorks下每次运行的效率降低比都是100倍左右!
哪位能帮兄弟我解释一下原因?谢了先!
你的 vc6 运行在 x86 上,效率当然高咯。
vxworks 所运行的硬件不可能和 pc 比吧,及时是在 tornado 模拟的环境下,效率也不能比啊。