Có bất kỳ thư viện đọc tệp cấu hình tốt nào cho C \ C++ có thể được sử dụng cho các ứng dụng được viết trên nền tảng Linux hay không. Tôi muốn có một tập tin cấu hình đơn giản cho ứng dụng của tôi. Tốt nhất là tôi muốn tránh xa các tệp XML có khả năng gây nhầm lẫn cho người dùng.Thư viện tệp cấu hình Linux
Trả lời
Bạn có thể thử glib's key-value-file-parser
Boost program_options này cho phép bạn đọc tùy chọn chương trình từ các tập tin cấu hình, các biến môi trường và dòng lệnh. Nó là xách tay và rất dễ sử dụng.
nhưng thư viện này không thể lưu tùy chọn chương trình. – Jichao
Tôi muốn giới thiệu 'libconfig'.
Nếu bạn chỉ muốn một tệp cấu hình đơn giản, với danh sách các lệnh và/hoặc cài đặt biến, thì rất dễ dàng để viết trình phân tích cú pháp của riêng bạn, dễ dàng đến mức không thể sử dụng thư viện. Nếu bạn cần một cái gì đó phức tạp hơn thì trình phân tích cú pháp nhanh chóng trở nên phức tạp hơn và một thư viện hiện có đáng được sử dụng.
Tôi chưa bao giờ thử sử dụng libconfig, nhưng nó trông giống như một lựa chọn tốt và tôi thích định dạng của các tệp cấu hình mà nó sử dụng.
Bạn cần quyết định xem bạn có muốn chương trình của mình có thể ghi tệp cấu hình hay không. Nếu đó là một chương trình GUI, bạn có thể làm. Điều này sẽ ảnh hưởng đến những thư viện nào phù hợp.
Tùy chọn khác là Boost.PropertyTree (doc). Nó cho phép đọc/ghi các tệp XML, INI, JSON và Info. Và bạn nhận được tính di động miễn phí.
Câu hỏi đặt ra là bạn nghĩ gì về định dạng tệp? Thuộc tính "đơn giản" là một chút của một underspecification. Nếu bạn đang tìm kiếm một thư viện có thể sử dụng các tệp cấu hình "windows .ini formated", bạn có thể muốn xem ACE http://www.cs.wustl.edu/~schmidt/ACE/.
Đối với một ứng dụng, bạn có thể xem xét libconfuse.
Nếu bạn cần có khả năng xử lý nhiều định dạng tệp cấu hình khác nhau (ví dụ: cổng web cho hệ thống cần đọc và ghi tệp cấu hình từ nhiều ứng dụng ở nhiều định dạng), có Augeas.
- 1. Tải tệp cấu hình tùy chỉnh vào thư viện Codeigniter
- 2. Thư viện cấu hình nhẹ C++
- 3. Cấu hình/tạo Linux, --prefix?
- 4. GUI/thư viện TUI linux
- 5. Tùy chỉnh Cấu hình Thư viện Lớp Di động .NET?
- 6. Có thư viện Java nào hoạt động trên các tệp cấu hình unix như http.conf
- 7. Tách thư viện chia sẻ linux
- 8. Thư viện webcam cho C trên Linux?
- 9. Đo kích thước thư viện trong Linux
- 10. Thư viện được chia sẻ Linux C++
- 11. Đường dẫn thư viện Ubuntu Linux
- 12. Thư viện Hình học .NET
- 13. Định cấu hình PHP Framework trên Linux
- 14. thư viện python để tạo tệp video từ hình ảnh
- 15. Laravel thư viện hình ảnh
- 16. Thư viện xem thư mục/tệp trong C/C++
- 17. Thư viện C để đọc phiên bản EXE từ Linux?
- 18. Lấy chi tiết cấu hình RAID [linux]
- 19. Thư viện cấu trúc dữ liệu C
- 20. Dữ liệu cấu hình chương trình trong Unix/Linux
- 21. Cách khởi tạo thư viện dùng chung trên Linux
- 22. Thư viện hoạt hình Android?
- 23. Thư viện hình ảnh C
- 24. Thư viện hình ảnh WPF
- 25. Thư viện được chia sẻ: Phương pháp Windows vs Linux
- 26. Cài đặt và xây dựng thư viện Boost trong Linux
- 27. linux g ++ liên kết 64 bit mã thư viện chia sẻ với thư viện tĩnh
- 28. Cách quản lý thư viện của bên thứ ba trong dự án đa cấu hình
- 29. Lấy cấu hình từ ảnh hạt nhân Linux
- 30. Nhận cài đặt cấu hình từ web.config/app.config bằng cách sử dụng thư viện lớp
Tôi nghĩ rằng quyết định của bạn để tránh XML là một điều tốt. XML không thực sự dễ đọc, ngoại trừ trong trường hợp khẩn cấp. –