본 글은 C#, C, LabVIEW 기반의 공통된 내용입니다. [IMAQ] 비전 함수 메모리 릭(Memory Leak) 이슈 IMAQ Dispose 함수는 IMAQ 함수들을 이용하여 사용한 이미지 관련 메모리 할당 부분을 해제해주는 기능을 합니다. 해제를 하기 위해서는 IMAQ 생성 및 파일 읽기등을 통해서 가져온 메모리 주소에 대한 정보가 필요합니다. 코드상에서 여러번의 이미지를 생성할 수 있기 때문에 이에 대한 정보는 모두 가지고 있어야 합니다. Dispose 함수의 경우 프로그램 상에서 이미지가 더이상 필요가 없는 경우에만 사용을 하는 것이 좋습니다. 사용이 종료되고 Dispose를 하지 않았을 때는 사용자의 PC 메모리는 점점 늘어나는 것을 확인할 수 있는데 이는 Memory Leak에 대한 이슈..
[LabVIEW] In Place Element Structure에 대해서 - 랩뷰 메모리 관리 방안 LabVIEW는 Text-Based 언어와는 달리 메모리를 Compiler에서 알아서 처리를 해줍니다. 이는 개발자에게는 효율적인 측면을 부여하지만, 리소스 관리 입장에서는 좋지 않은 퍼포먼스를 보여줄 수 있습니다. 데이터 흐름 프로그래밍은 일반적으로 변수를 사용하지 않고 입력데이터를 소비하고 데이터를 출력을 생성하여 제공합니다. 이를 그대로 이용하면 많은 양의 메모리를 사용하고, 성능이 느린 어플리케이션이 됩니다. 모든 함수는 출력이 전달되는 모든 대상에 데이터의 복사본을 생성합니다. 랩뷰는 이를 Inplaceness를 통해서 개선시킬 수 있습니다. 특히 LabVIEW는 특정 데이터(특히 배열) 를 처..