Una semplice libreria C che colma le lacune nelle librerie standard (C, POSIX)?

3

Sto cercando una libreria di funzioni C, che conterrebbe una raccolta di funzioni di utilità semplici e semplici "mancanti" dagli standard C o POSIX. Ho trovato questa precedente domanda , ma le risposte sono elencate solo i framework completi o le librerie progettate per sostituire / duplicare le librerie standard invece di riempire perfettamente le lacune.

Per darti un esempio di funzioni mi manca spesso, e vorrei trovare una lib con implementazioni testate:

  • afgets , afread : legge una riga o un intero file, come fgets e fread , eccetto davvero legge tutto e restituisce un malloc ed un buffer, nello spirito di GNU asprintf .
  • Una selezione di funzioni di taglio delle stringhe
  • systemf , popenf : come system e popen , ma prendi printf -like stringa di formato per comando.
  • strjoin : unisce più stringhe fornite come vararg / array (cosa difficile da fare con snprintf )
  • struct timeval aritmetica

Questi sono solo esempi di funzioni che spesso mi mancano per cose veloci. Poi alcune funzionalità che vorrei (non obbligatorie):

  • Disponibile su distribuzioni Linux standard immediatamente disponibili, con pagine man ecc.
  • Funziona anche su Windows / Visual C
  • Nessuna dipendenza extra, autonoma
  • Come utilizzabili come funzioni C lib esistenti in C ++
  • Preferibilmente sotto licenza LGPL o BSD, ma GPL va bene anche

Cose che io non cercando:

  • Una libreria di stringhe con un proprio tipo di stringa
  • Una libreria di strutture dati
  • Una libreria di framework che ha un'inizializzazione speciale, forse anche un ciclo di eventi ecc.

Quindi la domanda è, cosa c'è là fuori? Nome della biblioteca, link della homepage, link di github, link della domanda duplicata ... Se hai creato il tuo e lo hai al pubblico repo, sentiti libero di collegarti anche a questo, se hai il coraggio di esporlo a molti occhi.

    
posta hyde 03.04.2013 - 09:05
fonte

1 risposta

6

Il Apache Portable Runtime ha molto di quello che vuoi.

Non aspettarti che arrivi nulla da C o POSIX. Il gruppo di standard C / C ++ pensa che dovresti usare C ++ e C è solo per le app legacy. POSIX è gestito da un gruppo di produttori di hardware che combatteranno qualsiasi modifica allo standard in quanto potrebbero sostenere le spese di implementazione di qualsiasi modifica nei vari sistemi operativi.

Ci sono molte funzioni non facilmente reperibili sul loro sito web, ad es. apr_file_read_full

    
risposta data 03.04.2013 - 10:38
fonte

Leggi altre domande sui tag