Pour optimiser les performances, LabVIEW crée parfois des tranches de tableau à partir des tableaux que vous connectez à certaines fonctions Array. Une tranche de tableau est un tableau créé à partir d'un autre tableau et qui contient certains éléments du tableau d'origine. LabVIEW exprime une tranche de tableau en (sous-)tableau dans la fenêtre d'Aide contextuelle lorsque vous déplacez le curseur sur le fil de liaison du tableau résultant. Par exemple, ((sous-)tableau 1D de) indique que la fonction crée une tranche de tableau, alors que (tableau 1D de) indique que le tableau résultant contient tous les éléments résultants.

Remarque La fenêtre d' aide contextuelle ne fait la différence entre les tableaux et les tranches de tableau que si vous autorisez le débogage du VI dans la page Exécution de la boîte de dialogue Propriétés du VI .

Si LabVIEW crée une tranche de tableau, il peut créer une tranche de tableau contiguë, qui stocke des données de manière adjacente ; ou une tranche de tableau non contiguë, qui stocke des données de manière non adjacente. Si vous connectez une tranche de tableau à la fonction Preallocated Read from Binary File , vous devrez peut-être savoir si la tranche de tableau est contiguë ou non, car la fonction fournit différents niveaux de support qui dépendent du tableau que vous utilisez.

Déterminer si LabVIEW crée une tranche de tableau contiguë ou non contiguë

Les fonctions detableau dans LabVIEW accèdent aux données dans l' ordre des rangées majeures ( ). Si vous disposez les éléments d'un tableau dans l'ordre "row-major", LabVIEW représente ce tableau en mémoire de manière contiguë. LabVIEW représente le tableau 2D suivant en mémoire de manière contiguë comme une ligne 1D de 0 à 15 :

Si vous câblez le tableau précédent à la fonction Indexer un tableau et définissez l'entrée indice (ligne) à 0, il est possible que LabVIEW renvoie un tableau ou une tranche de tableau contiguë. La tranche de tableau est contiguë car LabVIEW représente les valeurs en offsets de mémoire adjacents 0, 1, 2, 3.

Si vous câblez le tableau précédent à la fonction Indexer un tableau et définissez l'entrée indice (col) à 0, il est possible que LabVIEW renvoie un tableau ou une tranche de tableau non contiguë. La tranche de tableau est non contiguë car LabVIEW représente les valeurs en offsets de mémoire non adjacents 0, 4, 8, 12.

Les fonctions suivantes peuvent renvoyer une tranche de tableau. Si l'une de ces fonctions renvoie une tranche de tableau, utilisez les règles suivantes pour déterminer si LabVIEW crée une tranche de tableau contiguë ou non contiguë :

  • Sous-ensemble d'un tableau : si LabVIEW représente la sortie de cette fonction de manière contiguë en mémoire, il crée une tranche de tableau contiguë.
  • Inverser un tableau 1D : si vous câblez un tableau à cette fonction, il crée une tranche de tableau non contiguë. Si vous câblez une tranche de tableau déjà inversée à cette fonction, il crée une tranche de tableau contiguë.
  • Diviser un tableau 1D : si vous câblez un tableau à cette fonction, il crée une tranche de tableau contiguë. Si vous câblez une tranche de tableau non contiguë à cette fonction, la tranche de tableau qui en résulte est soit contiguë ou non contiguë, selon la manière dont LabVIEW la représente en mémoire.
  • Transposer un tableau 2D : cette fonction crée une tranche de tableau non contiguë à moins que vous ne câbliez à un tableau déjà transposé à cette fonction.
  • Cluster en tableau : cette fonction crée une tranche de tableau contiguë.
  • Indexer un tableau : cette fonction crée une tranche de tableau contiguë à moins que vous ne spécifiiez d'indexer le tableau par colonne.
  • Décimer un tableau 1D : cette fonction crée une tranche de tableau non contiguë.