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

Ví dụ COBOL

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

Ví dụ này trình bày cách tích hợp engine TS-ANPR với các ứng dụng COBOL bằng thư viện wrapper C.

Kiến trúc

Ví dụ COBOL sử dụng kiến trúc phân lớp:

Ứng dụng COBOL (anpr.cbl)
         ↓
Thư viện Wrapper C (libtsanpr_cobol.so/.dll)
         ↓
Engine TS-ANPR (libtsanpr.so/tsanpr.dll)

1. Sao chép tệp Engine

[Lưu ý] Trong ví dụ này, tệp engine được giải nén vào thư mục examples/bin/ để chia sẻ với các ví dụ khác. Tuy nhiên, khi triển khai thực tế, tệp engine thường được sao chép vào thư mục chứa tệp thực thi của ứng dụng.

2. Xây dựng và Chạy

2.1 Windows

  1. Cài đặt GnuCOBOL

    • Tải xuống và cài đặt GnuCOBOL for Windows
    • Hoặc cài đặt qua SuperBOL (khuyến nghị)
    • Thêm thư mục bin của GnuCOBOL vào PATH
  2. Cài đặt GCC

    • GCC là cần thiết để build wrapper C
    • Nếu bạn đã cài đặt SuperBOL, MinGW64 GCC đã được bao gồm
    • Nếu không, hãy cài đặt MinGW-w64
  3. Cách xây dựng

    compile.bat
    

    Hoặc sử dụng Make:

    make
    
  4. Cách chạy

    run.bat
    

    Hoặc sử dụng Make:

    make run
    

2.2 Linux

  1. Cài đặt phụ thuộc

    • 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. Cách xây dựng

    chmod +x compile.sh
    ./compile.sh
    

    Hoặc sử dụng Make:

    make
    
  3. Cách chạy

    chmod +x run.sh
    ./run.sh
    

    Hoặc sử dụng Make:

    make run
    

Chương trình COBOL (src/cobol/anpr.cbl)

Chương trình minh họa:

Tất cả các tính năng đều khớp với các ví dụ ở ngôn ngữ khác (C, Python, v.v.).

Lưu ý về Hiệu suất

Để có hiệu suất tốt hơn trên WSL, hãy sao chép toàn bộ dự án vào filesystem gốc của WSL (ví dụ: ~/).

Xử lý Sự cố

Linux: “libcob: error: module not found”

Lỗi này xảy ra khi GnuCOBOL không thể tìm thấy thư viện wrapper C. Script chạy sử dụng LD_PRELOAD để tải thư viện bắt buộc.

Giải pháp: Luôn sử dụng run.sh hoặc make run thay vì chạy binary trực tiếp.

Windows: Lỗi DLL not found

Đảm bảo rằng:

  1. bin/tsanpr_cobol.dll tồn tại sau khi biên dịch
  2. Bạn đang chạy qua run.bat thiết lập COB_LIBRARY_PATH

Giấy phép

Mã ví dụ này được phát hành theo Giấy phép MIT.