VB用汇编进行快速CRC较验

因为利用了汇编代码,速度特别快,有空可以测试测试.
新建一个EXE工程,加入两个TEXTBOX控件,默认名称,一个BUTTON控件即可.

程序代码 程序代码

Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, _
                                                                                ByVal hwnd As Long, _
                                                                                ByVal Msg As Long, _
                                                                                ByVal wParam As Long, _
                                                                                ByVal lParam As Long) As Long


Private Function AsmCrc(bytInput() As Byte, ByVal Init As Long) As Long
      Dim Asm(5) As Long
      Asm(0) = &H5B5A5958
      Asm(1) = &HC033505E
      Asm(2) = &H3018A36
      Asm(3) = &H41CED1F0
      Asm(4) = &HF47ECA3B
      Asm(5) = &HC3338936
      CallWindowProc VarPtr(Asm(0)), _
                     VarPtr(bytInput(LBound(bytInput))), _
                     VarPtr(bytInput(UBound(bytInput))), _
                     VarPtr(AsmCrc), _
                     Init
End Function

Private Sub Command1_Click()
      Dim myBAry() As Byte
      Dim myL        As Long

      myBAry = StrConv(Text1.Text, vbFromUnicode)

      myL = AsmCrc(myBAry, Len(Text1.Text))
      Text2.Text = "字符串“" & Text1.Text & "”的CRC校验:" & myL
End Sub



[本日志由 JiaJia 于 2007-07-11 02:50 AM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: VB 源码
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.