공유 라이브러리 프로퍼티 대화 상자의 이 페이지를 사용하여 공유 라이브러리의 고급 셋팅을 변경합니다.

이 페이지는 다음의 구성요소를 포함합니다.

옵션 설명
디버깅 활성화

어플리케이션, 공유 라이브러리, .NET interop 어셈블리 또는 웹 서비스의 디버깅을 활성화합니다.

노트 이 확인란에서 확인 표시를 제거해도 최대 최적화가 보장되지는 않습니다.
  • 시작할 때까지 디버거 기다림—

    어플리케이션, 공유 라이브러리 또는 .NET interop 어셈블리를 로드하지만, LabVIEW 디버깅 컨트롤을 통해 실행하도록 사용자가 활성화할 때까지 실행하지 않습니다. 이 옵션을 활성화하려면 디버깅 활성화 확인란에 확인 표시를 합니다.

빠른 파일 포맷 사용

독립 어플리케이션 (EXE) 또는 공유 라이브러리 (DLL)를 더 빨리 로드할 수 있는 포맷으로 저장합니다. 빠른 파일 포맷을 사용하려면, 고급 페이지의 디버깅 활성화 체크 박스에 확인 표시가 되어 있지 않아야 합니다.

에러 코드 파일 복사

project\errors 및 user.lib\errors 디렉토리로부터 XML 기반의 LabVIEW 에러 코드 텍스트 파일 복사본을 가져와 런타임 엔진에 추가합니다.

노트 사용자가 직접 LabVIEW\user.lib 디렉토리 안에 errors 폴더를 생성해야 사용자 에러 코드 파일들을 정리할 수 있습니다.
사용자 정의 가명 파일 사용

어플리케이션, 공유 라이브러리, 또는 .NET interop 어셈블리에 프로젝트 Aliases 파일을 복사합니다. 확인란에서 확인 표시를 제거하는 경우, 프로젝트 파일 선택 대화 상자가 나타나고 사용자가 프로젝트에 있는 다른 가명 파일을 선택할 수 있습니다.

  • 프로젝트의 가명 파일

    기본 프로젝트 가명 파일 사용을 선택하지 않는 경우, 어플리케이션, 공유 라이브러리, 또는 .NET Interop 어셈블리와 함께 사용할 가명 파일을 지정합니다.

    • 프로젝트 탐색

      앨리어스 파일을 선택할 수 있는 프로젝트 파일 선택 대화 상자를 디스플레이합니다.

공유 라이브러리에서 OS 메시지 지연

공유 라이브러리로부터 모달 윈도우를 로드할 때까지 또는 공유 라이브러리 함수 호출이 끝날 때까지 OS 메시지를 지연시킵니다.

공유 라이브러리 함수가 실행되는 동안 같은 공유 라이브러리 파일의 호출을 방지하기 위해 마우스나 키보드 메시지와 같은 OS 메시지가 지연되도록 선택할 수 있습니다. 예를 들어 사용자가 버튼을 누른데 대한 응답으로 공유 라이브러리 함수가 호출된다면, 사용자는 공유 라이브러리 함수가 완료될 때까지 버튼을 누를 수 없게 됩니다.

공유 라이브러리에서 모달 윈도우를 로드하는 경우, LabVIEW는 이 옵션을 덮어쓰고 메시지를 처리하여 모달 윈도우가 활성화되도록 합니다. 모달 윈도우가 열려 있는 동안에는 다른 윈도우와 상호작용을 할 수 없습니다. 대부분의 LabVIEW 대화 상자는 모달 윈도우입니다.

공유 라이브러리 함수가 실행되는 동안 OS 메시지를 처리하려는 경우 확인란에서 확인 표시를 제거합니다.

추가적인 LabVIEW 헤더 파일 포함

빌드 과정에서 생성된 헤더 파일에 참조된 추가적인 LabVIEW 헤더 파일을 모두 빌드된 공유 라이브러리에 복사합니다. 추가적인 헤더 파일을 포함하면 LabVIEW가 빌드한 공유 라이브러리를 이 헤더 파일이 필요한 C 또는 다른 언어에서 사용할 수 있습니다.

향상된 DSC 런타임 지원 활성화

이 옵션은 LabVIEW Datalogging and Supervisory Control (DSC) Module이 설치된 경우에만 나타납니다. 향상된 DSC Module Run-Time Engine을 통해 어플리케이션을 빌드합니다. DSC Module Run-Time Engine은 사용자가 DSC 모듈을 사용하여 빌드한 어플리케이션에서 프로그램적으로 프로젝트 라이브러리 및 공유 변수를 관리하는 데 필요한 추가 지원을 제공합니다.

다음의 상황에서는 반드시 이 확인란에 확인 표시를 해야 합니다.
  • 사용자가 빌드하려는 어플리케이션이 VI 서버 참조를 사용하여 프로그램적으로 라이브러리 파일을 수정합니다.
  • 사용자가 빌드하려는 어플리케이션이 [Save to Library] VI를 사용합니다.
이 두 상황에서 사용자가 강화된 DSC Module Run-Time Engine을 활성화하지 않는 경우, LabVIEW는 사용자가 빌드한 어플리케이션, 공유 라이브러리, 또는 .NET interop 어셈블리를 실행할 때 에러 코드 1055를 반환합니다.
노트 이 옵션을 활성화하면 빌드한 어플리이션, 공유 라이브러리 또는 .NET interop 어셈블리의 파일 크기가 증가하고 시작 속도가 저하됩니다.
런타임 엔진의 임베디드 버전 사용

(Linux) 임베디드 버전의 런타임 엔진을 사용하여 공유 라이브러리를 빌드합니다. 프런트패널이나 사용자 인터페이스를 요구하지 않는 환경에서 공유 라이브러리를 배포하려면 이 옵션을 선택하십시오.

빌드 로그 파일 생성

빌드의 로그 파일을 생성할지 여부를 지정합니다. 빌드 로그 파일은 시작 VI 또는 항상 포함으로 지정하지 않은 subVI를 비롯하여 빌드에 포함된 모든 파일을 나열합니다. 로그 파일에는 빌드 시작이나 종료 시간, 빌드 스펙, 프로젝트 이름, 빌드 중에 발생한 모든 에러 등과 같은 일반적인 빌드 정보도 포함되어 있습니다.

  • 로그 파일 경로

    빌드 로그 파일을 저장할 경로를 지정합니다.

LabVIEW 8.x 파일 레이아웃 사용

플랫 파일 레이아웃을 사용하여 독립 어플리케이션, 공유 라이브러리, 또는 웹사이트 내에 소스 파일을 저장하도록 지정합니다. LabVIEW 8.6 또는 이전 버전에서 로드하는 빌드 스펙의 경우, LabVIEW는 이 옵션을 기본으로 활성화합니다. National Instruments는 LabVIEW 2009 또는 이후 버전에서 개발하는 어플리케이션의 경우 이 옵션을 비활성화할 것을 권장합니다.

LabVIEW 2011 호환성 모드

플랫 파일 레이아웃을 사용하여 독립 어플리케이션, 공유 라이브러리, 또는 웹사이트 내에 소스 파일을 저장하도록 지정합니다. LabVIEW 8.6 또는 이전 버전에서 로드하는 빌드 스펙의 경우, LabVIEW는 이 옵션을 기본으로 활성화합니다. National Instruments는 LabVIEW 2009 또는 이후 버전에서 개발하는 어플리케이션의 경우 이 옵션을 비활성화할 것을 권장합니다.

다음 테이블은 각 스타일이 생성한 공유 라이브러리를 변경하는 방식을 나열합니다.

LabVIEW 2011 호환성 모드 LabVIEW 2012 및 이후 버전
LabVIEW는 VI의 이름으로 C 함수 이름을 생성하며, 함수 이름에 소유 라이브러리 계층 구조를 포함하지 않습니다. LabVIEW는 프로젝트의 VI에 대해 정규화된 C 함수 이름을 생성합니다. 정규화된 이름은 VI 이름에 VI의 소유 라이브러리 계층 구조를 추가하여 만든 이름입니다. 예를 들어, Foo.viFooLib.lvlib에 속한다면, LabVIEW는 FooLib_Foo라는 C 함수 이름을 생성합니다. LabVIEW 2012 버전 이전에 생성되어 이미 반출한 VI가 있는 프로젝트의 경우, 생성된 함수 원형 이름은 정규화되지 않습니다. 정규화된 이름을 갖는 함수를 생성하려면, 소스 파일 페이지의 VI 반출 리스트에서 해당 VI를 삭제한 후 다시 VI 반출 리스트에 VI를 추가합니다.
LabVIEW는 LabVIEW 열거형, 클러스터 및 배열 타입 정의에 대해 TD1TD2와 같은 일반 타입 이름을 생성합니다. LabVIEW는 사용자가 VI에 할당한 타입 이름을 보존하여 LabVIEW 열거형, 클러스터, 배열 타입 정의의 정규화된 타입 이름을 생성합니다. LabVIEW 열거형, 클러스터 및 타입 정의가 아닌 배열에 대해, LabVIEW는 int32Array, Cluster1Enum1과 같이 더 많은 의미를 갖는 이름을 생성합니다.
LabVIEW는 생성한 헤더 파일에 열거형 값을 노출하지 않습니다. LabVIEW는 생성한 헤더 파일에 열거형 값을 노출합니다.
에러 입력에러 출력 클러스터를 포함하는 VI에서 생성한 함수는 에러 입력에러 출력 파라미터를 포함합니다. LabVIEW가 VI의 C 함수를 생성하는 경우, LabVIEW는 에러 입력에러 출력 클러스터를 새 함수의 파라미터로 반출하지 않습니다. 대신, 함수의 반환 값은 에러 출력 클러스터의 에러 코드를 포함합니다. 에러 메시지를 얻거나 또는 지우려면 LVGetLastErrorMsgLVClearLastErrorMsg 함수를 사용하며, 이 함수는 labview\cintools 디렉토리의 extcode.h 헤더 파일에 노출됩니다. 여러 개의 에러 출력 파라미터가 있는 VI의 경우, 생성된 함수가 어떤 에러 출력 파라미터를 사용하여 에러 코드 정보를 반환할지 VI 원형 정의 대화 상자에서 선택할 수 있습니다.
TestStand 또는 라이브러리 호출 노드의 타입 라이브러리 포함

플랫 파일 레이아웃을 사용하여 독립 어플리케이션, 공유 라이브러리, 또는 웹사이트 내에 소스 파일을 저장하도록 지정합니다. LabVIEW 8.6 또는 이전 버전에서 로드하는 빌드 스펙의 경우, LabVIEW는 이 옵션을 기본으로 활성화합니다. National Instruments는 LabVIEW 2009 또는 이후 버전에서 개발하는 어플리케이션의 경우 이 옵션을 비활성화할 것을 권장합니다.

타입 라이브러리를 넣으려면 반드시 추가적인 도구를 설치해야합니다. 추가 도구에 대해 알아보려면 ni.com/info에서 정보 코드 DownloadMSDTBuildTools를 입력하십시오.
프라이빗 실행 시스템에서 VI 실행

LabVIEW로 빌드한 공유 라이브러리를 다른 언어의 어플리케이션으로 호출하는 경우 멀티스레드 실행 시스템에서 VI를 실행하도록 LabVIEW를 설정합니다. 이 옵션은 기본으로 새 빌드 스펙에서는 활성화되고, LabVIEW 2016 및 이전 버전에서 만든 빌드 스펙에서는 비활성화됩니다. (NI Linux Real-Time) 이 옵션은 성능 지터의 발생 가능성 때문에 Linux Real-Time 타겟에서 기본적으로 비활성화됩니다.

기본적으로, 이 옵션은 새 빌드 스펙의 경우 활성화됩니다. LabVIEW 2016 및 이전 버전에서 마이그레이션된 빌드 스펙의 경우 의도하지 않은 동작 변경이 없도록 이 옵션이 비활성화됩니다. 예를 들어, 이 옵션을 비활성화하면, LabVIEW로 빌드한 공유 라이브러리가 LabVIEW가 아닌 어플리케이션으로부터 호출되는 경우, 공유 라이브러리가 단일스레드 실행에 의존하여 멀티스레드 실행 시스템에서 실행되지 않도록 합니다.

다음 LabVIEW 버전에서 이 공유 라이브러리를 로드하도록 허용

2진 파일이 빌드된 LabVIEW 버전이나 머신에 설치된 최신 버전의 LabVIEW 런타임 엔진에서 로드될 수 있도록 합니다. 이 옵션은 독립 어플리케이션, 공유 라이브러리, 묶음 프로젝트 라이브러리, 소스 배포에 적용됩니다. LabVIEW 2017 또는 이전 버전에서 생성한 빌드 스펙의 경우, LabVIEW는 이 옵션을 기본으로 활성화합니다. 리얼 타임 어플리케이션에서는 대화 상자에 이 옵션이 없지만, 이 기능이 기본으로 활성화되어 있습니다.

이 옵션을 비활성화하면, 빌드 스펙의 사용을 특정 버전의 LabVIEW로 제한할 수 있습니다. 또한 이 옵션이 비활성화되면, 성능 프로파일 변경이 저지되고, 컴파일러 업그레이드로 인해 예상치 않은 문제가 발생하는 것이 방지됩니다.

어플리케이션 만들기 및 배포하기