关于内联汇编存在很多误区。
曾经在书上看到过手动写汇编码加入到C++程序里去,然后书上说这样会有效率上的提升,从此就想当然的认为那是对的,然后也就从此相信了只要把我们写的代码改成汇编码内联进去会快很多。
幼稚啊
编译器比我们聪明太多了,而且随着一代一代版本更新还在做更多的优化。
今天亲测了一下内联汇编和普通代码的运行效率,得出的结果是内联汇编不一定比编译器优化的好。
很简单的测试代码,两个求和函数。
int Test1(int a,int b)
{
b = a+b;
return b;
}
int Test2(int a,int b)
{
_asm
{
mov eax,a
add b,eax
}
return b;
}
int main()
{
clock_t start,finish;
double totaltime;
start=clock();
for(int i = 0; i &l