很簡單的代碼﹐在VC中﹕
void CTest12Dlg::OnButton1() 
{
int j=0;
    for (int i=1;i<100000000;i++){
j+=1;
}
AfxMessageBox("ok");
}
在Delphi中功能一樣的代碼﹕
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i,j:integer;
begin
  j:=0;
  for i:=1 to 100000000 do
  begin
    j:=j+1;
  end;
  showmessage('ok');
end;運行結果明顯感覺在delphi中快﹐難道vc還不如delphi么?

解决方案 »

  1.   

    编译器代码优化的问题吧?应该差不多的。
    不过BORLAND是做编译器起家的。应该比微软的好一些。
      

  2.   

    我不是說編譯的時候﹐而是生成的應用程序執行上面的代碼所花的時間﹐當然編譯的時候也不如Delphi快
      

  3.   

    你用SDK写这段代码运行一下看看
    VC可能用了MFC
    lzzqqq(Jonersen) 的意思是BORLAND的编译器编译出来的应用程序比较好
      

  4.   

    我剛才又在Dev-C++ 4.9.6.0中編譯了這段代碼﹐并且把100000000改成了1000000000(在delphi中也改了),結果發現還是明顯不如delphi快啊﹐學c++都沒信心了
    #include <iostream>
    main()
    {
      int j=0;
      for (int i=1;i<1000000000;i++){
        j+=1;
      }
      cout<<"ok";
    }
      

  5.   

    DWORD start=::GetTickCount();
        int j=0;
        for (int i=1;i<100000000;i++)
    {
    j+=1;
    }
    DWORD end=::GetTickCount(); CString str;
    str.Format("%d\r\n%d",end-start,j);
    MessageBox(str);结果是:0 999999999
    也就是说在vc Release版下不到1ms就算出来了。楼主是怎么察觉vc慢的,除非你是用的debug版。
      

  6.   

    楼主的变量类型是不是用错了。
    int型好像没那么大的值吧。
    把值的类型改正确了再试下。
      

  7.   

    果然﹐Release版比Debug版快了很多,謝謝大家