六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

VB不妨訪問內存

[摘要]有人說vb不能操作內存,效率低下,我不是太贊同.vb跟c比當然效率比較低下了,但是如果使用得當還是有不少的效率提高的. 在開發windows上的應用時(注意啊,不是驅動),理論上來說,用vb可以做任何軟件.因為vb本身沒有的,可以使用api,而win32 api時可以實現windows上的...
    有人說vb不能操作內存,效率低下,我不是太贊同.vb跟c比當然效率比較低下了,但是如果使用得當還是有不少的效率提高的.

     在開發windows上的應用時(注意啊,不是驅動),理論上來說,用vb可以做任何軟件.因為vb本身沒有的,可以使用api,而win32 api時可以實現windows上的任何應用功能的.當然這和使用者的功力有很大的關系,如果c/c++的功力很好,你甚至可以用vb實現內存拷貝的功能,因為long類型可以做指針.

     最近在做界面, 對vb有點研究, 給個例子吧.比如10進制轉換2進制.

     用vb的一般用除法這么做:
public function o2b(byval long nValue) as string
     dim nValueCopy as long
     dim nTmp as byte '商
    dim sReturn as string '返回值
    nValueCopy = nValue

     '也有用nValue - 2^N 方式的,這里就不多說了

    do while nValueCopy > 0
          nTmp = nValueCopy / 2           
          sReturn = cstr( nValueCopy - nTmp / 2 ) & sReturn  '反向累計
        nValueCopy = nTmp
     loop
  
     o2b = sReturn


end function

     而用c比較熟的人一般按位去做:
public function o2b(byref long nValue) as string
     dim nBit( 0 to 7 ) as byte       ' 最小的單位是byte了,放掩碼
    dim nByte( 1 to 4 ) as byte     ' 分解nValue到字節的
    dim nTmp as byte
     dim pValue as long                ' 指針
     dim sReturn as string             ' 返回值
    dim i as byte, j as byte

     nBit(0) = 1            '00000001  
     nBit(1) = 2            '00000010
     nBit(2) = 4            '00000100
     nBit(3) = 8            '00001000
     nBit(4) = 16           '00010000
     nBit(5) = 32           '00100000
     nBit(6) = 64           '01000000
     nBit(7) = 128         '10000000

     ' 取 nValue 的地址
     pValue = VarPtr( nValue )

     ' win32 api, 將nValue的4個字節分別復制到nByte中,byref 就相當于指針
    CopyMemory( nByte(1), byref pValue, 4 )

     for i = 4 to 1      '低字節在前
       for j = 7 to 0    '高位開始
         ' 方法一, 減法
         nTmp = 0
              if nByte(i) > nBit(j) then
                  nByte = nByte(i) - nBit(j)
                  nTmp = 1           ' 這一位二進制是1
              end if
              sReturn = sReturn & cstr(nTmp)

              ' 方法二,按位與 效率更高
        nTmp = 1
              if ( not ( nByte(i) imp nBit(j) ) ) = nBit(j) then
              ' 我沒有找到vb按位與的函數,只有按位"同與"(不記得是不是)的imp
                   nTmp = 0
              end if
              sReturn = sReturn & cstr(nTmp)
     next j, i

     o2b = sReturn

end function

在網吧里,沒有環境,隨手寫寫,有錯誤請見諒,主要是思路.


主站蜘蛛池模板: 在线观看国产黄色 | 色综合天 | 日韩中文字幕久久精品 | 日本高清免费不卡在线播放 | 青青青视频在线播放视频 | 色噜噜视频影院 | 日本激情一区二区三区 | 四虎影院免费看 | 亚洲精品在线视频观看 | 日韩在线视频免费 | 特级做a爰片毛片免费看 | 性荡视频播放器在线视频播放 | 日韩欧美视频一区 | 亚洲男人天堂视频 | 青青青在线 | 四虎影永久在线观看精品 | 日韩伦理一区二区三区 | 日韩 欧美 亚洲国产 | 日韩综合在线视频 | 青娱在线 | 日本www视频在线观看 | 色综合888| 日韩中文字幕一区二区不卡 | 午夜影视在线视频观看免费 | 日韩三级伦理在线 | 天天躁夜夜躁狠狠躁2023 | 视频在线免费观看网址 | 五月欧美 | 日本亚洲免费 | 日本叼嗨| 青青青在线视频免费 | 午夜精品久久久久久 | 性导航app精品视频 性荡视频在线播放视频 | 亚洲欧美在线精品一区二区 | 日韩在线视频在线观看 | 午夜神器成在线人成在线人免费 | 日本妈妈6 | 天堂资源在线官网bt | 一二三四免费观看高清动漫视频 | 日本成年人免费看 | 伊人色播|