Como executar a análise de argumentos em C? [fechadas]

0

Eu estou tentando escrever um utilitário que é executado no sistema operacional Linux. Estou planejando desenvolvê-lo usando C. Eu tenho muitas dúvidas me impressionando. Eu gostaria de perguntar algumas coisas.

Perguntas 1:

Como posso analisar o argumento usando C?

Em python, temos um módulo que facilita a análise de argumentos. Existe alguma maneira semelhante ou melhor de realizar o mesmo usando C?

ie: No linux, pressionar ' tab ' auto preenche o comando. Eu gostaria de ter funcionalidades semelhantes na minha utilidade. Como eu programaria isso usando C?

Pergunta 2:

Durante o desenvolvimento de utilitários (de qualquer tipo), é melhor usar as funções fornecidas pelo kernel do linux ou continuar com aquelas em libc ?

Obrigado

    
por Panther Coder 18.07.2017 / 18:50

1 resposta

8

How can I parse argument using C?

O POSIX fornece getopt para analisar os argumentos da linha de comando.

Em sistemas Linux, a biblioteca GNU C fornece uma função getopt_long estendida que permite para parâmetros nomeados longos, além dos flags de caractere único suportados pelo getopt simples.

In linux, pressing 'tab' auto fills the command. I would like to have similar functionalities in my utility. How would I program that using C?

Se você deseja que seu programa mostre um prompt próprio e forneça edição de linha e preenchimento automático sensível ao contexto, procure em readline .

While developing utilities(of any kind), Is it better to use the functions provided by the linux kernel or continue with those in libc?

Libc é o que fornece ligações syscall de qualquer maneira (a menos que você vá a extremos ridículos para evitar isso, o que geralmente envolve escrever seu próprio código assembler e não lhe compra nada além de dores de cabeça).

Em geral, use os serviços de nível mais alto que permitirão que você faça o que precisar, a menos que você tenha razões de desempenho claras, específicas e mensuradas informando o contrário.

    
por 18.07.2017 / 19:03