성능을 최적화하기 위해 LabVIEW는 때로는 특정 배열 함수에 연결하는 배열에서 배열 슬라이스를 생성합니다. 배열 슬라이스는 한 배열에서 생성한 또다른 배열이며, 이 배열에는 원래 배열의 원소 일부가 포함되어 있습니다. 생성된 배열의 와이어 위로 커서를 이동할 때 LabVIEW는 기본 도움말 윈도우에서 배열 슬라이스를 (부분)배열 로 나타냅니다. 예를 들어, (1-D (부분)배열의) 는 함수가 배열 슬라이스를 생성함을 의미하고, (1-D 배열의) 는 생성된 배열이 모든 원소를 포함한다는 것을 의미합니다.

노트    기본 도움말 윈도우는 VI 프로퍼티 대화 상자의 실행 페이지에서 VI의 디버깅을 허용하는 경우에만 배열과 배열 슬라이스를 구분합니다.

LabVIEW가 배열 슬라이스를 생성하는 경우, 생성된 배열 슬라이스는 데이터를 인접하게 저장하는 연속 배열 슬라이스이거나 데이터를 인접하지 않게 저장하는 비연속 배열 슬라이스일 수 있습니다. 배열 슬라이스를 [미리 할당된 2진 파일로부터 읽기 함수에 연결하는 경우, 이 함수는 배열 타입에 따라 다른 수준의 지원을 제공하기 때문에, 배열이 연속인지 비연속인지 알아야 할 수도 있습니다.

LabVIEW가 생성하는 배열 슬라이스가 연속인지 비연속인지 알아내기

LabVIEW의 배열 함수는 행 우선 순서로 데이터에 접근합니다. 배열의 원소를 행 우선 순위로 정렬하는 경우, LabVIEW는 메모리에서 이 배열을 연속적으로 나타냅니다. LabVIEW는 메모리에 다음 2D 배열을 0에서 15까지의 1D 라인으로 연속적으로 나타냅니다:

위의 배열을 [배열 인덱스] 함수에 연결하고 인덱스(행) 입력을 0으로 설정하는 경우, LabVIEW는 배열 또는 연속 배열 슬라이스를 반환합니다. LabVIEW는 이 값을 연속적인 메모리 오프셋 0, 1, 2, 3에서 나타내기 때문에 배열 슬라이스는 연속 슬라이스입니다.

위의 배열을 [배열 인덱스] 함수에 연결하고 인덱스(열) 입력을 0으로 설정하는 경우, LabVIEW는 배열 또는 비연속 배열 슬라이스를 반환합니다. LabVIEW는 이 값을 비연속적인 메모리 오프셋 0, 4, 8, 12에서 나타내기 때문에 배열 슬라이스는 비연속 슬라이스입니다.

다음 함수는 배열 슬라이스를 반환할 수 있습니다. 다음 함수가 배열 슬라이스를 반환하는 경우, 다음 가이드라인을 따라 LabVIEW가 연속 배열 슬라이스를 생성하는지 비연속 배열 슬라이스를 생성하는지 알 수 있습니다:

  • [배열 부분 대체]―LabVIEW가 이 함수의 출력을 메모리에 연속적으로 나타내는 경우, 연속 배열 슬라이스를 생성합니다.
  • [1D 배열 뒤집기]―배열을 이 함수에 연결하는 경우, 비연속 배열 슬라이스를 생성합니다. 이미 뒤집힌 배열 슬라이스를 이 함수에 연결하는 경우, 연속 배열 슬라이스를 생성합니다.
  • [1D 배열 분리]―배열을 이 함수에 연결하는 경우, 연속 배열 슬라이스를 생성합니다. 비연속 배열 슬라이스를 이 함수에 연결하는 경우, 생성된 배열 슬라이스는 LabVIEW가 이 배열 슬라이스를 메모리에 어떻게 나타내는지에 따라 연속이 될 수도, 비연속이 될 수도 있습니다.
  • [2D 배열 전치]―이 함수는 이미 전치된 배열을 연결하지 않는 한, 비연속 배열 슬라이스를 생성합니다.
  • [클러스터를 배열로]―이 함수는 연속 배열 슬라이스를 생성합니다.
  • [배열 인덱스]―이 함수는 배열을 열 방향으로 인덱스하도록 지정하지 않는 한, 연속 배열을 생성합니다.
  • [1D 배열 데시메이트]―이 함수는 비연속 배열 슬라이스를 생성합니다.