LabVIEW如何在内存中保存数据_第1页
LabVIEW如何在内存中保存数据_第2页
LabVIEW如何在内存中保存数据_第3页
LabVIEW如何在内存中保存数据_第4页
LabVIEW如何在内存中保存数据_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LabVIEW如何在内存中保存数据布尔数据LabVIEW用8位二进制数保存布尔数据。如值为零,则布尔值为FALSE。所有非零的值都表示TRUE。单字节整型单字节整数(有符号和无符号)为8位二进制格式。双字节整型双字节整数(有符号和无符号)为16位二进制格式。长整型长整数(有符号和无符号)为32位二进制格式。64位整型64位整数(有符号和无符号)为64位二进制格式。定点定点数(有符号和无符号)为64位二进制格式。单精度单精度浮点数为32位二进制IEEE单精度格式。双精度双精度浮点数为64位二进制IEEE双精度格式。扩展精度扩展精度浮点数为IEEE80位扩展格式。:-注:在某些情况下,扩展精度浮点

2、数可能为64位、96位或128位IEEE扩展精度格式。具体情况因计算机处理器而异。最常见的是80位。单精度复数单精度浮点复数由32位二进制IEEE单精度的实数和虚数组成。87扌鐵0S1叮氛3双精度复数双精度浮点复数由64位二进制IEEE双精度的实数和虚数组成。81C打讥Jo冷讥0S弋汀讥Jy棗C认心虛W扩展精度复数扩展精度浮点复数由IEEE扩展精度的实数和虚数组成扩展精度浮点数为IEEE80位扩展格式。&15指数0E3JSE3C在浮点数和复数中,s为符号位(0代表正,1代表负),指数为偏移指数(底数为2),而尾数为0,1范围内的数。时间标识LabVIEW将时间标识保存为一个含四个整数的簇,其中

3、前两个带符号整数(64位二进制)表示自1904年1月1日周五凌晨01-01-190400:00:00以来无时区影响的所有秒数。后两个不带符号整数(64位二进制)表示小数秒部分。关于时间标识的更多信息,请访问的NI开发者园地。数组LabVIEW将数组保存为句柄(即指向指针的指针),包含以32位二进制整数表示的维度大小,随后是数组数据本身。如句柄为0,则数组为空。由于某些平台具有对齐约束条件,维度大小后可能会有如干字节的填充符以使数据的首个元素准确对齐。如写了一个使用LabVIEW数组的共享库,可能需要调整指针的大小。下图为单精度浮点数的一维数组。其左侧的十进制数表示在内存中数组起始处的字节偏移。

4、下图为16位整数的四维数组。在LabVIEW中,一维和二维数组均在内存中对齐。这有助于提高线性代数运算及矩阵数据类型相关运算的性能。字符串LabVIEW将字符串保存为指向某个结构的指针,该结构包含一个长度为4个字节的值和一个一维单字节整数(8位二进制字符)数组。如下图所示。如句柄或指向某个结构的指针为NULL,LabVIEW将字符串视为空字符串,即字符串的长度值为0。由于LabVIEW以长度值而不是终结字符来判断字符串的结束,因此可将带有NULL字符或ASCII字符0在内的任意字符嵌入字符串的任何位置。当发送LabVIEW字符串到期望C字符串的外部代码时,嵌入的NULL字符将导致外部代码将字符

5、串解释为于第一个NULL字符处终止。路径LabVIEW路径是指向不透明数据结构的一个指针,不透明数据结构中包含路径类型和路径的组成部分。路径类型为0代表绝对路径,为1代表相对路径,为3代表通用命名约定(UNC)路径。UNC路径仅限于Windows环境且以机器名共享名而不是盘符作为其首个路径组件。任何其他的路径类型均为无效路径。使用下列函数获取关于路径的信息:FDepth()FDirName()FIsAPath()FIsAPathOfType()FIsEmptyPath()FNamePtr()FVolName()使用下列函数添加元素至路径:FAddPath()FAppendName()使用下列函

6、数创建一个新的路径:FNotAPath()FPathCpy()FEmptyPath()FMakePath()FRelPath()使用FDestroyPath()函数删除路径。使用下列函数实现路径和文本格式之间的转换:FFileSystemStringToPath()FPathToFileSystemDSString()FPathToText()FTextToPath()ConvertPathToPlatformIndependentText()ConvertPlatformIndependentTextToPath()使用下列函数比较两个路径:FPathCmp()FPathCmpLexical

7、()簇LabVIEW根据簇元素顺序将不同数据类型的元素保存在一个簇中。右键单击簇边框,在快捷菜单中选择重新排序簇中控件可查看和修改簇顺序。LabVIEW直接将标量数据存储在簇中,将数组、字符串和路径间接存储在簇中。由于某些平台有对齐限制,LabVIEW可能会在数组中簇的结尾填充若干字节,以保证下一个簇的开始位置准确对齐。如写了一个使用簇数组的共享库,如将指针的大小按照数组进行调整,必须同时考虑这些填充内容。簇在内存中的存储结构取决于运行的平台。LabVIEW可能在簇元素之间填充,以保证这些元素与特定的地址范围对齐。地址范围与自然对齐概念相关。如某个数据的开始位置是数据大小的整数倍,则该数据自然

8、对齐。例如,如一个4字节的整数的开始地址是4的倍数,则该数据是自然对齐。多数编译器在范围上有一个上限。例如,8字节整数可在4字节范围上对齐。根据LabVIEW运行范围的不同,对齐限制如下:(Windows)数据只与1字节范围对齐。(MacOSX,Linux)数据与4字节范围自然对齐。(VxWorksPowerPC)数据与8字节范围自然对齐。在所有平台上,簇按照最严格最齐元素的标准进行对齐。下表显示了一个簇,其中包含:1个16位整数、1个扩展精度浮点数、1个数组、1个8位不带符号整数。每行都包括内存地址以及相应元素和元素大小。(Windows)因为数据只与1字节范围对齐,所以下一个簇的内存地址是

9、17。内存地址元素大小(字节)0:I16整数22:EXT浮点数1012:处理为数组416:U8整数1(MacOSX,Linux)因为数据自然对齐至4字节范围,LabVIEW在8位不带符号整数后填充3个字节。所以,下一个簇的内存地址是24。内存地址元素大小(字节)0:I16整数22:填充24:EXT浮点数1014:填充216:处理为数组420:U8整数121:填充3(VxWorksPowerPC)因为数据自然对齐至8字节范围,LabVIEW在8位不带符号整数后填充3个字节。所以,下一个簇的内存地址是24。内存地址元素大小(字节)0:I16整数22:填充68:EXT浮点数816:处理为数组420:U8整数121:填充3LabVIEW将簇按顺序嵌入直接存储在其它簇中。L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论