Skip to the content.
English 한국어 日本語 Tiếng Việt

COBOL 예제

https://github.com/bobhyun/TS-ANPR/tree/main/examples/COBOL/anpr

이 예제는 C 래퍼 라이브러리를 사용하여 COBOL 애플리케이션에서 TS-ANPR 엔진을 통합하는 방법을 보여줍니다.

아키텍처

COBOL 예제는 계층화된 아키텍처를 사용합니다:

COBOL 애플리케이션 (anpr.cbl)
         ↓
C 래퍼 라이브러리 (libtsanpr_cobol.so/.dll)
         ↓
TS-ANPR 엔진 (libtsanpr.so/tsanpr.dll)

1. 엔진 파일 복사

[참고] 이 예제의 경우 다른 예제들과 엔진 파일을 공유하기 위해 examples/bin/ 디렉토리에 압축 해제하지만 실제 배포시는 일반적으로 응용 프로그램의 실행 파일이 있는 디렉토리에 엔진 파일을 복사합니다.

2. 빌드 및 실행

2.1 Windows

  1. GnuCOBOL 설치

  2. GCC 설치

    • C 래퍼 빌드에 GCC 필요
    • SuperBOL 설치 시 MinGW64 GCC 포함됨
    • 그 외의 경우 MinGW-w64 설치
  3. 빌드 방법

    compile.bat
    

    또는 Make 사용:

    make
    
  4. 실행 방법

    run.bat
    

    또는 Make 사용:

    make run
    

2.2 Linux

  1. 의존성 설치

    • Debian / Ubuntu
      sudo apt-get update
      sudo apt-get install gnucobol gcc
      
    • Oracle Linux / RHEL / CentOS
      sudo yum install gnucobol gcc
      
    • Fedora
      sudo dnf install gnucobol gcc
      
  2. 빌드 방법

    chmod +x compile.sh
    ./compile.sh
    

    또는 Make 사용:

    make
    
  3. 실행 방법

    chmod +x run.sh
    ./run.sh
    

    또는 Make 사용:

    make run
    

구현 세부 사항

C 래퍼 (src/c/tsanpr_cobol.c)

C 래퍼는 세 가지 주요 함수를 제공합니다:

래퍼가 처리하는 기능:

COBOL 프로그램 (src/cobol/anpr.cbl)

다음 기능을 시연합니다:

모든 기능이 다른 언어(C, Python 등)의 예제와 동일합니다.

성능 참고 사항

WSL에서 더 나은 성능을 위해 전체 프로젝트를 WSL 네이티브 파일시스템(예: ~/)으로 복사하세요.

문제 해결

Linux: “libcob: error: module not found”

GnuCOBOL이 C 래퍼 라이브러리를 찾을 수 없을 때 발생합니다. 실행 스크립트는 LD_PRELOAD를 사용하여 라이브러리를 강제 로드합니다.

해결책: 바이너리를 직접 실행하지 말고 항상 run.sh 또는 make run을 사용하세요.

Windows: DLL not found 오류

다음을 확인하세요:

  1. 컴파일 후 bin/tsanpr_cobol.dll이 존재하는지
  2. COB_LIBRARY_PATH를 설정하는 run.bat을 통해 실행하는지

라이선스

이 예제 코드는 MIT 라이선스로 배포됩니다.