저는 Linux 운영 체제에서 실행되는 유틸리티 프로그램을 작성하려고 합니다. C로 개발할 예정입니다. 질문이 많습니다. 몇 가지 질문을 하고 싶습니다.
질문 1:
C를 사용하여 매개변수를 구문 분석하는 방법은 무엇입니까?
Python에는 매개변수를 쉽게 구문 분석하는 모듈이 있습니다. C를 사용하여 동일한 작업을 수행하는 유사하거나 더 나은 방법이 있습니까?
즉, Linux에서는 " tab
"를 눌러 명령을 자동 완성합니다. 내 유틸리티가 비슷한 기능을 갖기를 원합니다. C로 어떻게 프로그래밍하나요?
질문 2:
(모든 종류의) 유틸리티 프로그램을 개발할 때 Linux 커널에서 제공하는 기능을 사용하는 것이 더 낫습니까, 아니면 이미 사용 중인 기능을 계속 사용하는 것이 더 낫습니까 libc
?
감사해요
답변1
C를 사용하여 매개변수를 구문 분석하는 방법은 무엇입니까?
POSIX가 제공하는선택 항목 가져오기명령줄 매개변수를 구문 분석하는 데 사용됩니다.
Linux 시스템에서 GNU C 라이브러리는 확장 기능을 제공합니다.선택 항목을 길게 가져옵니다.일반 getopt가 지원하는 단일 문자 플래그 외에도 긴 이름의 인수가 있는 함수도 허용됩니다.
Linux에서는 "tab"을 누르면 명령이 자동 완성됩니다. 내 유틸리티가 비슷한 기능을 갖기를 원합니다. C로 어떻게 프로그래밍하나요?
프로그램이 자체 프롬프트를 표시하고 줄 편집 및 상황에 맞는 자동 완성 기능을 제공하도록 하려면 다음을 확인하세요.독서선.
(모든 종류의) 유틸리티 프로그램을 개발할 때 Linux 커널에서 제공하는 기능을 사용하는 것이 더 낫습니까, 아니면 libc의 기능을 계속 사용하는 것이 더 낫습니까?
Libc는 어쨌든 시스템 호출 바인딩을 제공합니다(이를 피하기 위해 터무니없는 극단적인 방법을 사용하지 않는 한, 일반적으로 자체 어셈블리 코드를 작성해야 하고 골치 아픈 일만 발생합니다).
일반적으로 말하면 최고 수준의 서비스를 사용하면 필요한 작업을 수행할 수 있습니다.명확하고 구체적이며 측정 가능성능상의 이유는 다르게 알려줍니다.