Pergunta

Eu tenho um par de projetos de programação passatempo C que eu gostaria de começar. Eu estou procurando uma biblioteca de código aberto que tem uma licença liberal (Eu quero crédito, mas praticamente qualquer um pode usar). As necessidades da biblioteca ter cordas melhor do que a biblioteca padrão C e algumas primitivas de threading portátil.

Estou pensando GLib e abril . Qual é a sua experiência prática? Que é a biblioteca C melhor fundamental? Existem outras bibliotecas enchendo o mesmo nicho?

Foi útil?

Solução

Eu acho que glib é geralmente superior a abril glib tem muitos mais datastructures como bibliotecas portáteis. por exemplo tabelas de hash, todos os tipos de listas, filas, pilhas, matriz dinâmica, também para análise de argumento, arquivo io tem seu próprio invólucros também e gerenciamento de memória é fácil modificável. Por exemplo você pode facilmente fazer glib usar o Boehm Weisser GC isso é AFAIKT nunca foi feito ou fácil possível com Apache. Eu iria decidir um pouco diferente. Se você precisar de uma biblioteca mais útil de estruturas de dados glib é uma melhor equipado. Se se trata de coisas GUI que libapr tem nada enquanto glib tem gdk / GTK + e um monte de coisas para gnome se você gosta.

No entanto, se se trata de material de rede, libapr definitivamente tem uma vantagem sobre glib.

Então, minhas sugestões é

  • programação desktop :. Use GTK + e glib
  • material de rede :. Use abril, mas ser glib assegurada tem todo este material portátil também

Outras dicas

Eu iria com abril APR é melhor em portabilidade Unix / Windows (sendo uma biblioteca de portabilidade dedicado), tem sido tradicionalmente mais Unix orientada GLib. APR é uma biblioteca maior do que GLib, com lotes de material útil nele (tabelas de hash, análise argumento, arquivo I / stuff O, gerenciamento de memória, rotinas de memória compartilhada, de manipulação de sinal, etc.).

Existe uma razão que você não iria querer usar o C ++ STL? Mesmo se você estiver escrevendo código "c-style" sem classes, você pode usar cordas c ++ e estrutura de dados.

Há uma abundância de razões válidas para furar a C, é claro. Se for esse o caso, eu seria segundo a recomendação para glib. APR é mais uma camada de portabilidade do que uma biblioteca de utilitários.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top