不管运用什么规划言语,不良的编程技能都会给一个运用的功能带来负面影响,对一个嵌入式运用特别如此。虽然关于绝大部分运用来说,高功率的编程技能是重要的,但关于嵌入式运用所作业的资源极度缺少的环境,则要求对功能和存储器办理给予特别的重视。
本文的评论将围绕着新的LabView嵌入式开发模块进行,这种新东西为嵌入式运用开发人员供给了图形化体系规划手法。该东西答使用户直观地规划算法并进行交互式调试。下面是一些有助于编程师更有用运用LabView开发嵌入式运用的技巧。这些技巧中的许多也适用于其它高档东西。
动态分配存储器技能
动态存储器分配是一项编程师应尽或许防止的杂乱操作。例如,假如动态分配出现在将数据存储到数组内的一个循环内,那么它特别有害。防止在一个循环内动态分配存储器的常用办法是在该循环开端履行前,为每个数组预分配所需的存储空间。
移位寄存器与地道技能
LabView的移位寄存器与地道使数据进/出循环。工程师还使用移位寄存器在一个循环的每次履行之间传递数据。当数据用一个输入地道传进一个循环时,LabView有必要复制该数据并将该复制数据送出来进行下线修正。为了保证原始数据对该循环的下次迭代履行时坚持不变,这样做是必需的。工程师也能够经过用一个移位寄存器把数据传进该循环的办法来防止复制。这样就消除了不必要的复制,然后加快了运转速度。
循环中的大常数技能
假如在循环内部放置一个常数,会使循环的每次履行都复制这个数据,然后加大履行时间和存储器运用率。工程师能够防止这个状况,做法是把该常数移出该循环,或许用本地变量把数据传递到循环中。
数据类型强制转化技能
LabView开发环境只需有或许就主动地处理数据类型的抵触,其做法是把较小的数据类型转化成较大的数据类型。例如,假如在一个整数和一个浮点数之间产生一个类型抵触,那么LabView就把该整数转化成一个浮点数,随后再履行运算操作。这个转化的价值是贵重的,并且在许多状况下是不必要的。在大多数状况下,工程师能够经过为每个变量选取正确的数据类型来防止强制转化。可是,假如该数据有必要被强制转化,则应在将其送去进行操作运算或函数核算前就完结转化,这样功率将会更高些。
簇技能的运用
当把异构数据绑缚到易办理的数据包中时,簇是有用的,比如说C言语结构(C Structs)。但是,此刻除了要考虑的悉数数据外,数据内容的相关信息也有必要和这些数据一同传递。因而,有的时分,特别是在把数据传到subVI时,相关于一个绑缚的簇而言,未绑缚的数据元素能够添加用户运用的运转速度。
虽然相似LabView这样的高档编程言语有助于工程师更快地布置其运用,但留意可进步代码功能的细节是很重要的。经过留意这些细节,有助于工程师快速开发一个高功率的运用。