成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳談VB自定義類型參數(shù)的傳遞

開發(fā) 后端
這里介紹VB自定義類型參數(shù)的傳遞,用戶自定義類型在VB中是一種重要的數(shù)據(jù)類型,它為編程者提供了很大的靈活性,使開發(fā)人員可以根據(jù)需要構(gòu)造自己的數(shù)據(jù)結(jié)構(gòu)。

本文向大家介紹VB自定義類型參數(shù)的傳遞,可能好多人還不了解VB自定義類型參數(shù),沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。

VB自定義類型參數(shù)的傳遞

用戶自定義類型在VB中是一種重要的數(shù)據(jù)類型,它為編程者提供了很大的靈活性,使開發(fā)人員可以根據(jù)需要構(gòu)造自己的數(shù)據(jù)結(jié)構(gòu)。它相當(dāng)于C/C++中的結(jié)構(gòu)類型(structure)。在VB中,允許程序員以傳址的方式將自定義數(shù)據(jù)類型參數(shù)傳入動(dòng)態(tài)庫,DLL過程也可以將修改后的參數(shù)返回VB程序。但是,在VB中仍然不支持以傳值的方式傳遞VB自定義類型參數(shù)。

傳遞VB自定義類型參數(shù)時(shí),必須確保VB中的數(shù)據(jù)類型的成員與動(dòng)態(tài)庫中的結(jié)構(gòu)成員是一一對(duì)應(yīng)的,所占空間也必須嚴(yán)格一致。這里所說的一一對(duì)應(yīng),不僅是指VB 中的所有結(jié)構(gòu)成員在動(dòng)態(tài)庫的結(jié)構(gòu)中都必須有對(duì)應(yīng)的元素,而且它們在數(shù)據(jù)結(jié)構(gòu)中定義的順序也必須嚴(yán)格一致,這是VB中使用的"數(shù)據(jù)結(jié)構(gòu)成員對(duì)齊方式"決定的。在VB 中,數(shù)據(jù)結(jié)構(gòu)使用雙字對(duì)齊方式(4-byte alignment),因此,在用戶自己生成用于VB調(diào)用的動(dòng)態(tài)連接庫時(shí),也必須把編譯選項(xiàng)"structure member alignment" 設(shè)為4字節(jié)(如前文所述)。

所謂結(jié)構(gòu)成員對(duì)齊方式是指一個(gè)數(shù)據(jù)結(jié)構(gòu)內(nèi)部,其成員的排列方式。譬如,在VB中,其對(duì)齊方式是4字節(jié),這就好象在一個(gè)數(shù)據(jù)結(jié)構(gòu)內(nèi)部分成了很多個(gè)4字節(jié)大小的小單元,如果相鄰兩個(gè)或多個(gè)數(shù)據(jù)成員的大小可以放在一個(gè)單元中,那么就放在一起;否則這些小單元中可能 會(huì)出現(xiàn)未用的空字節(jié)。我們來看下面一個(gè)數(shù)據(jù)類型:

  1. Type TestType  
  2. m1 as Integer  
  3. m2 as Byte  
  4. m3 as Long  
  5. End Type 

它的三個(gè)成員的大小加起來是2+1+4=7。但是,由于m1和m2的字節(jié)總長度是3,小于 4,它 們就存放于一個(gè)單元中;但該單元剩下的一個(gè)字節(jié)不足以放下一個(gè)Long型的成員m3,于是m3 就被放在下一個(gè)單元中,它們之間就有了一個(gè)未用的空字節(jié);因此,整個(gè)結(jié)構(gòu)所占實(shí)際長度是8 字節(jié)。同理,如果將m3和m2的位置交換一下,它所占的尺寸就變成了9字節(jié)。可見,成員在結(jié)構(gòu) 中的聲明順序也是非常重要的。

另外,在VB 中還可以把一個(gè)函數(shù)的指針傳遞到動(dòng)態(tài)庫中,方法也并不復(fù)雜。但筆者強(qiáng)烈建議***不要這么做,因?yàn)檫@樣一來VB 應(yīng)用程序就幾乎完全喪失了它所應(yīng)有的安全性。如果 確實(shí)需要傳遞函數(shù)指針的話,那么還是編一個(gè)C/C++ 的程序來完成這項(xiàng)工作吧。以上介紹VB自定義類型參數(shù)的傳遞。

【編輯推薦】

  1. VB.NET字符串?dāng)?shù)組全面分析
  2. 討論VB.NET簡單數(shù)據(jù)類型
  3. VB.NET使用Alias子句簡介
  4. 敘述VB.NET創(chuàng)建控件數(shù)組
  5. VB.NET Declare語句學(xué)習(xí)筆記
責(zé)任編輯:佚名 來源: weaseek
相關(guān)推薦

2010-01-15 15:26:46

VB.NET自定義類型

2009-11-10 17:12:22

VB.NET自定義類型

2010-01-18 15:43:35

VB.NET自定義屬性

2023-10-31 09:10:39

2009-10-23 17:03:18

VB.NET事件編程

2013-05-02 14:08:18

2009-08-12 14:53:50

C#類型轉(zhuǎn)換函數(shù)

2023-11-01 08:01:04

SpringWeb容器

2009-10-26 13:13:17

VB.NET編碼規(guī)范

2015-02-12 15:33:43

微信SDK

2012-02-21 14:04:15

Java

2015-01-14 15:06:48

定義相機(jī)

2023-11-14 10:05:52

Java開發(fā)工具

2022-11-06 21:50:59

Python編程函數(shù)定義

2021-03-16 10:39:29

SpringBoot參數(shù)解析器

2022-07-11 10:37:41

MapPart集合

2020-10-20 09:27:48

Python開發(fā)數(shù)據(jù)類型

2022-06-20 08:26:39

Spring容器類型轉(zhuǎn)換

2015-02-12 15:38:26

微信SDK

2016-11-16 21:55:55

源碼分析自定義view androi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久新 | 日韩中文在线观看 | 欧美日本一区二区 | 欧美啪啪网站 | 久久91精品久久久久久9鸭 | 久久高清精品 | 国产成人精品综合 | 日韩视频一区二区 | 黄色av一区| 国产精品一区二 | 国产黄色小视频 | 国产精品久久久久一区二区 | 日韩成人在线一区 | 一区二区日本 | 久久久久久高潮国产精品视 | 日本中文字幕一区 | 亚洲成人在线免费 | 福利在线观看 | 自拍偷拍精品 | 99国产精品99久久久久久 | 中文字幕亚洲一区二区三区 | 亚洲午夜精品一区二区三区 | 久久91精品国产一区二区 | 9久久精品 | 国产精品久久久乱弄 | aa级毛片毛片免费观看久 | 天天操天天摸天天爽 | 精品久久精品 | 久久一区二区三区四区五区 | 亚洲一区二区三区高清 | 欧美一区二区三区一在线观看 | 在线观看成人免费视频 | 午夜国产一级 | 九九看片 | 一区二区伦理电影 | www.国产视频 | 久久精品色欧美aⅴ一区二区 | 美女福利网站 | 亚洲一区二区久久久 | 日本成人综合 | 一级a性色生活片久久毛片波多野 |