Tôi nghĩ rằng tiêu đề là tự giải thích. Tôi đang làm một chương trình và tôi đã tự hỏi mình nên sử dụng cái gì và tại sao.Sự khác nhau giữa argp và getopt là gì?
Trả lời
argp
có thể linh hoạt/mạnh mẽ hơn, vv, nhưng getopt
là một phần của tiêu chuẩn POSIX. Đó là một lựa chọn bạn đã thực hiện dựa trên việc bạn có mong đợi chương trình của bạn có thể di chuyển được hay không.
Không có nhiều lựa chọn mà tôi không nghĩ. Số điện thoại Argp webpage nói điều này:
Argp cung cấp các tính năng không có trong giao diện getopt phổ biến hơn được sử dụng . Các tính năng này bao gồm tự động tạo đầu ra trong các phản hồi với các tùy chọn ‘--help’ và ‘--version’, như được mô tả trong các tiêu chuẩn mã hóa GNU . Sử dụng argp làm cho nó ít có khả năng rằng các lập trình viên sẽ bỏ bê để thực hiện các tùy chọn bổ sung hoặc giữ chúng lên đến ngày.
Argp cũng cung cấp khả năng hợp nhất một số trình phân tích cú pháp tùy chọn được xác định độc lập thành một, trung gian xung đột giữa chúng và làm cho kết quả xuất hiện liền mạch. Một thư viện có thể xuất một trình phân tích cú pháp tùy chọn argp mà các chương trình người dùng có thể sử dụng kết hợp với các trình phân tích cú pháp riêng của họ, dẫn đến ít hoạt động hơn cho các chương trình người dùng. Một số chương trình chỉ có thể sử dụng các trình phân tích cú pháp đối số được xuất bởi các thư viện, do đó đạt được phân tích cú pháp tùy chọn phù hợp và hiệu quả cho các tóm tắt được triển khai bởi các thư viện.
Từ Argp manual:
Argp cung cấp tính năng không có sẵn trong các chi tiết thường được sử dụng giao diện getopt . Các tính năng này bao gồm tự động tạo đầu ra trong các phản hồi với các tùy chọn ‘--help’ và ‘--version’, như được mô tả trong các tiêu chuẩn mã hóa GNU . Sử dụng argp làm cho nó ít có khả năng rằng các lập trình viên sẽ bỏ bê để thực hiện các tùy chọn bổ sung hoặc giữ chúng lên đến ngày.
- 1. Sự khác nhau giữa WPF và WinForms là gì?
- 2. Sự khác nhau giữa JavaScript và Java là gì?
- 3. Sự khác nhau giữa ODBC và OleDB là gì?
- 4. Sự khác nhau giữa SGML và XML là gì?
- 5. Sự khác nhau giữa DefaultSelenium và RemoteWebDriver là gì?
- 6. Sự khác nhau giữa RMI và Corba là gì?
- 7. Sự khác nhau giữa scgi và wsgi là gì?
- 8. Sự khác nhau giữa wsHttpBinding và ws2007HttpBinding là gì?
- 9. Sự khác nhau giữa Pingback và Trackback là gì?
- 10. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 11. Sự khác nhau giữa AxInterop và Interop là gì?
- 12. Sự khác nhau giữa CellClick và CellMouseClick là gì?
- 13. Sự khác nhau giữa .bashrc, .bash_profile và .environment là gì?
- 14. Sự khác nhau giữa JSP và Facelets là gì?
- 15. Sự khác nhau giữa hg quên và hg là gì?
- 16. Sự khác nhau giữa GDI và GDI + là gì?
- 17. Sự khác nhau giữa đá quý và plugin là gì?
- 18. Sự khác nhau giữa metaClass.methods và metaClass.metaMethods là gì?
- 19. Sự khác nhau giữa kEND và $ end là gì?
- 20. Sự khác nhau giữa java và jsp là gì?
- 21. Sự khác nhau giữa Application.Run() và Form.ShowDialog() là gì?
- 22. Sự khác nhau giữa -0 và 0 là gì?
- 23. Sự khác nhau giữa HTTP 1.0 và 1.1 là gì?
- 24. Sự khác nhau giữa java.lang.Math và java.lang.StrictMath là gì?
- 25. Sự khác nhau giữa " " và "" là gì?
- 26. Sự khác nhau giữa Spring BeanFactoryAware và ApplicationContextAware là gì?
- 27. sự khác nhau giữa SCRIPT_FILENAME và SCRIPT_NAME là gì?
- 28. Sự khác nhau giữa JSP và JSTL là gì?
- 29. Sự khác nhau giữa JSF và Facelets là gì?
- 30. Sự khác nhau giữa javax.inject.Inject và com.google.inject.Inject là gì?
http://www.gnu.org/s/hello/manual/libc/Argp.html giải thích rõ ràng – lostyzd
@lostyzd cập nhật liên kết: http://www.gnu.org/software/libc/manual/html_node/ Argp.html # Argp. Curiosity: argp [dựa trên getopts] (https://sourceware.org/git/?p=glibc.git;a=blob;f=argp/argp.h;h=40bf5e6b631e06a14a5416a82d1a589593858336;hb=4e42b5b8f89f0e288e68be7ad70f9525aebc2cff#l1). –