明了了,谢谢。不过比较过Delphi和VB和VC++和C++ Builder没有?

解决方案 »

  1.   

    我这里只装了“Microsoft Visual Basic 6.0 ”与“Microsoft Visual C++ 6.0”
      

  2.   

    VB的调试环境是解释运行的
    编译成exe后才是编译运行的而VC程序只能编译成exe后再运行,自然是编译运行的
      

  3.   

          啊,我就是vb的初学者,呵呵,我还以为vb是最差的呢     :)                 这样看来还可以
      

  4.   

    看了源程序:
    你调用了API函数,运行速度会比用VB语言实现相同的功能要快;
    操作指针比直接操作数组要快;
    个人经验--我用以前用VB和VC分别处理过二进制文件的读写和数据的处理,主要是进行位操作和比较,都是编译后运行的,VB的程序比VC程序慢大约四到五倍,(文件不大,大约一兆左右)。
    个人感觉:VB程序比VC程序是要慢一些,要看程序处理的工作是什么,一般情况下两者的速度相差不大,除非你的程序对速度要求和资源要求非常高。
    进行数据处理VC比VB要快几倍,特别是进行位操作,但不象所说的快十几倍。
    我想,所说的“快”可能是指VB不借助API,全部用VB本身的语言来做。不过谁能说API不是VB编程中的一部分呢?用好API是你成为高手的必要条件。
    以上为个人见解,欢迎指正。对zyl910老兄的探索精神表示钦佩.
      

  5.   

    另:我在调试你的VB程序时程序停止响应。断点设在SCROLL_CHANGE中。
      

  6.   

    你仔细看啊
    那个VC程序也调用了同样的API算法都一样
    这样才能比较
      

  7.   

    可是VC用自己的语言也可设计出效率、速度和API相同的函数,VB就够呛了吧。
      

  8.   

    回复人: calyforer(无心) (  ) 信誉:100  2002-10-02 15:25:00  得分:0  
     
     
      另:我在调试你的VB程序时程序停止响应。断点设在SCROLL_CHANGE中。====================================================================
    把光标定位到118行(Private Sub VSol_Change())
    Ctrl+F8
    拖动滚动条
    F8、F8、F8、F8、F8、F8……
    F5
    没有问题啊
      

  9.   

    你仔细看了没有那些API只是了位图创建、位图传输函数真正起作用的还是自己写的程序(DrawMap过程)
      

  10.   

    很难想象程序不用API,当是直接操作CPU和内存啊!有谁用VC++开发环境写得出(不是C++),我佩服.........
      

  11.   

    不用API?!那VC IDE的窗口是怎样创建的?
    任何窗口都是通过CreateWindow、CreateWindowEx创建的,只不过有些编程语言、类库、控件将它们屏蔽了
      

  12.   

    说API,不能一网都打尽,没听说有谁用创建N个窗口来比较运行速度的。
      

  13.   

    如果你在VB和VC中各运行 “1+1” N次的话,相差的程度更小。VC语言执行的效率比VB要快一些,但不是在所有的方面都比VB要快很多,大多数时候我们是感觉不出它们的区别。
      

  14.   

    API?楼上的,能举一个不用API的例子吗?
      

  15.   

    真的好笑
    现在相同算法的比较结果出来了
    就有人故意扯到其他方向去了
    http://www.csdn.net/expert/topic/841/841534.xml?temp=.816601回复人: lanzhengpeng2(兰征鹏) (  ) 信誉:100  2002-7-2 10:11:03  得分:0  
     
     
      zyl910(910:分儿,我来了!) (L2002) :
    也是啊,我根本不会VB。不过,你用VB怎么写,也比不上我随手用C/C++写的东西速度快(相同算法的基础上)
      

  16.   

    呵呵,没什么,只是讨论一下。
    我用VC编的处理二进制文件和进行数据处理就一个API也没有用。
    可是我用VB用却不能用VC的算法来实现位操作,当然VB也可以用逻辑运算来模拟位运算,可是速度却差了很远,而且也不是真正的位运算。这是VB天生的缺点,不承认不行。连相同的算法都找不到,不知道如何进行比较。
    (注:我用VB也确实能进行类似的操作,可是确实慢不少)。
    如果你说在你的程序中确实差不了多少,那是当然。原因我也说过了,不过我说的可不是故意扯到什么其它的地方,都是在编程中遇到的实际问题。不能说除了你和程序之外其它的情况就不存在了。我也说过了,在大部分的情况下两者的差别并不是很明显,不过你不能否认在某些情况下尤其是在大批量的数据处理情况下,VB和VC的差别还是比较明显的。
      

  17.   

    C 和 Basic 比不单是速度的差别.接上面的"位移": >> << 这两个运算符 VB 没有.特别说一下, 我国庆放假前一天, 就用 VC 写了一个 DLL 专门用于 basic 不能完成的位移操作
      

  18.   

    那样dll没有什么用
    在大规模的循环中使用动态连接库中的函数是很慢的比如用CopyMemory分解RGB就比And分离慢
      

  19.   

    接上上层的:
    我就是用VC做DLL然后在VB中用,这样可以提高很多的速度。VB的位操作实在是......。
    我本来是候用全用VB做程序,可是最后还是选择VC来做一部分确实需要速度的部分,不得已而为之啊!!!
      

  20.   

    不,我们是把大规模的循环写在DLL中,在VB中直接使用得到结果就可以了。
    如果你说不知道在实际情况中的循环次数,那就用参数传递次数就是了,真正的循环是在VC中做的。
      

  21.   

    是怎样位移?
    讲详细一点啊
    把整个文件的内容右移n位?其实VB有很多种可以加快速度的技巧
      

  22.   

    to calyforer(无心):
    你这原则可真有个性:)我再说说吧:位移的一个典型应用是做快速乘除法, 特别是除法, 除法狂占 CPU 时间.但在特殊情况下, 可以用很快的位移操作代替很慢的除法.这种特殊情况是, 当以 2, 4, 8, 16.............除某一个数时, 可以用移位代替. 这种运算转换频繁用于图象的处理优化另外, VB 不支持汇编嵌入, 这也是做游戏, 图象处理时很难让人接受的,因为VB 下用 MMX SSE 指令不方便嘛
      

  23.   

    回复人: zyl910(910:分儿,我来了!) (  ) 信誉:93  2002-10-02 17:01:00  得分:0  
     
     
      那样dll没有什么用
    在大规模的循环中使用动态连接库中的函数是很慢的比如用CopyMemory分解RGB就比And分离慢
     
    ====================================================================这句话是对realdreamer(1,2,3,跑~~ 哈,你咋那么慢啊)说的
      

  24.   

    to zyl910:没有人会笨到这样做
    public sub f1()
      for n = 1 to 100
          call dll 中的函数
      next 
    end sub通常是这样:public sub f1()
          call dll 中的函数, dll 中做循环
    end sub
      

  25.   

    我提一个我在工作中最常遇到的问题,这个问题我以前在VC++论坛上提过,看看zyl910老兄用VB怎么优化:
    在一个上百兆的数据文件中,查找所有的4—64位重码并将结果输出成文件。
    看好,是二进制重码。
      

  26.   

    呵呵,我以前提这个问题时是要处理一个上G的文件,我不能想象用VB做会有什么结果。
    好了,我老婆要我去陪她散步,晚上再来看。
      

  27.   

    TO 楼主:没有必要这样来比较. VB , VC 各有优势. VB 快速开发, 天生与 COM, ACTIVEX 无缝结合, 而 COM/ACTIVEX 在WINDOWS平台上应用广泛, 注定VB有其应用领域. 在某些方面我更愿意用 VB 来做, 比如界面, 比如一些小型的数据库访问操作. 能灵活使用 VB , VC 乃至各个开发工具的长处来进行工作, 才是聪明的软件开发人员.OK, 谁好, 谁坏的问题我通常是不讨论的, 只是看到楼主三颗星却热衷于此, 奇怪之下, 进来看看. 我这贴之后, 不在查看 . 祝各位好运
      

  28.   

    realdreamer(1,2,3,跑~~ 哈,你咋那么慢啊)
    你说的很对
    我关键是看lanzhengpeng2(兰征鹏)不顺眼http://www.csdn.net/expert/topic/841/841534.xml?temp=.816601回复人: lanzhengpeng2(兰征鹏) (  ) 信誉:100  2002-7-2 10:11:03  得分:0  
     
     
      zyl910(910:分儿,我来了!) (L2002) :
    也是啊,我根本不会VB。不过,你用VB怎么写,也比不上我随手用C/C++写的东西速度快(相同算法的基础上)
      

  29.   

    现在cpu频率这么高,那点时间又算什么呀
      

  30.   

    同意siqi163的说法...
    特别是现在做那些关于数据库的应用程序...
    用VC来做比VB慢很多...真正做完了...运行起来根本就差不了多少...还是引用不知哪位老兄的话:"学就学VC...用就用VB"...