Liblack.

Una libreria UNIX / C di utilità generali per i programmatori con allentamento
Scarica ora

Liblack. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • GPL
  • Prezzo:
  • FREE
  • Nome editore:
  • Libslack Team
  • Sito web dell'editore:
  • http://libslack.org/
  • Sistemi operativi:
  • Mac OS X 10.3.2 or later
  • Dimensione del file:
  • 325 KB

Liblack. Tag


Liblack. Descrizione

Una libreria UNIX / C di utilità generali per i programmatori con allentamento Libslack è una libreria gratuita e open source di utilità generali che renderà un po 'più facile da programmare UNIX / C un po' più facile. Ecco alcune caratteristiche chiave di "Libslack": Quadro del programma: · Le parti "quadro" della liblaca sono destinate ad essere le più discutibili. A nessuno piace i frameworks. Non preoccuparti, non c'è molto da fare. Se non ti piace, fingi non è lì. · Libslack fornisce la possibilità di programmare i programmi di identificarsi, eseguire l'elaborazione delle opzioni della riga di comando in una singola riga di codice e produrre "Standard" Style GNU Style --Help, --versione e messaggi di utilizzo. La messaggistica di debug e Verbose è anche fornita ed è abilitata con l'uso di opzioni di comando "standard" --Debug e --verbose. · I messaggi (inclusi errori, debug e messaggi verbose) sono dotati di sintassi di chiamata pulita e semantica flessibile. I messaggi possono essere indirizzati a file di registro, descrittori di file, syslog o multiplex in uno qualsiasi dei precedenti (e in qualsiasi altra parte (E.G. Finestre di dialogo) se si implementano i tuoi gestori di messaggi) senza complicare la sintassi della chiamata. · ISO C impone restrizioni estreme sui gestori del segnale. Posix impone restrizioni meno estreme ma ancora fastidiose. Libslack contiene funzioni che forniscono un livello di astrazione tra i gestori di segnale che si scrivono e i reali (ISO C conforme) dei gestori del segnale. Ciò consente di scrivere gestori di segnale illimitato. · La persistenza granata grossa delle semplici informazioni di configurazione sono fornite dall'utilizzo dei file delle proprietà in stile Java in località "ben note". Servizi demone: · Libslack fornisce funzioni che rendono la scrittura dei demoni banale. Include funzioni per diventare un demone e creare facoltativamente un file PID bloccato per assicurarsi che solo un'unica istanza di un daemon denominata sia mai attiva allo stesso tempo. La funzione del daemon si comporta in modo appropriato se il processo client è avviato da init (8) o inetd (8). Ci sono anche funzioni per semplificare l'analisi dei file di configurazione semplici (come quelli che si trovano comunemente nella directory / ecc. Ci sono anche funzioni che ti aiutano a scrivere più demoni sicuri (I.e. revocare i privilegi Setuid / SetGID, prevenire la generazione di file core, modificare l'utente e il gruppo, testare la sicurezza di un determinato percorso del file). Ci sono anche funzioni per verificare se un daemon denominato è in esecuzione e per fermarlo. Servizi di rete: · Libslack fornisce funzioni per semplificare l'implementazione di server di rete e client (TCP, UDP, Unicast e Multicast) e (Testo o Binary) Protocolli di applicazione che utilizzano. Server di rete e client possono essere impostati in una singola riga di codice. Esiste un supporto trasparente per gli indirizzi della presa di dominio IPv4, IPv6 e UNIX. C'è supporto per affidabilità rispetto al UDP. I protocolli di testo sono implementati da sequenze di aspettami e funzioni di invio. I pacchetti di protocollo binario possono essere imballati e non imballati (utilizzando funzioni simili a pack () e disimballare () in Perl ma rete / stoccaggio amichevole). C'è anche una funzione per inviare posta. Programmazione orientata all'agente: · Libslack fornisce un modello di programmazione orientato all'agente generico sotto forma del tipo di dati dell'agente. Come oggetti, gli agenti possono reagire agli stimoli esterni. A differenza degli oggetti, gli agenti possono anche prendere azioni indipendenti. Questo viene eseguito da eventi I / O multiplexing sui descrittori di file arbitrari utilizzando Poll () o Select () e anche timer multiplexing per le azioni di pianificazione. Collegamento e disconnessione dei descrittori di file vengono eseguiti in tempo costante. La pianificazione e la cancellazione delle azioni vengono eseguite in costante tempo. La manutenzione del timer viene eseguita in tempo medio costante. Ciò significa che gli agenti sono scalabili rispetto al numero di timer eccezionali e possono supportare migliaia di azioni programmate. Un singolo agente può essere utilizzato come un semplice ciclo di eventi, o più agenti possono essere collegati tra loro in reti arbitrarie su più fili, processi e / o host. Un singolo agente non è scalabile rispetto al numero di descrittori di file connessi, ma più agenti possono essere combinati per ottenere una scalabilità molto più elevata. Sono utili per applicazioni in rete, sistemi e simulazioni distribuiti. Tipi di dati: · Libslack fornisce un tipo di dati di array di pointer di puntatore generico chiamato Elenco, un tipo di dati di dati di Hash di Hash generico chiamato mappa e un tipo di dati di stringa decente fornito con mucchi di funzioni (molti sollevati da Perl). Ci sono anche tipi di dati elencati singolari e doppiamente collegati con freeristiss opzionali, "adulti". Sicurezza del filo disaccoppiata: · Libslack fornisce il tipo di dati Locker che disaccoppia le strategie di sincronizzazione dei thread dal codice client. Questo permette di codice da scrivere che i delegati la scelta della strategia di sincronizzazione al cliente. Questo consente eseguito selezione tempo di strategie di blocco che significa che è anche possibile lasciare che l'utente finale di specificare quale strategia di blocco da usare. Supporta serrature mutua esclusione, lettori / scrittore serrature e nessun impuntamento. Ci sono anche le versioni di debug che i messaggi di stampa sullo standard output per aiutare i clienti individuano situazioni di stallo. Vedere http://raf.org/papers/mt-disciplined.html. Coprocesses e pseudo terminali: · Libslack fornisce funzioni per creare pseudo terminali portabile e per la creazione coprocesses che utilizzano sia tubi o uno pseudo terminale per la comunicazione con il processo client. Varie: · Libslack contiene Convenienza / stenografia funzioni per cose casuali come la lettura di una riga di testo con qualsiasi linea che termina (UNIX, DOS o Macintosh), FIFO e il controllo del file, il recupero limiti POSIX.1, l'analisi coppie struttura / priorità syslog, allocazione dinamica delle array multidimensionali, pool di memoria, la memoria protetta pool di memoria sicuri, c'è anche una funzione mucchio sorta. E ci sono anche implementazioni di GNU getopt_long (), strlcat (), strlcpy (), snprintf (), vsnprintf (), vsscanf (), asprinf () e vasprintf () per i sistemi che non dispongono di loro. Basso livello API: · Anche se ci sono un sacco di funzionalità in libslack, l'API per sé è di basso livello possibile. Non ci sono strutture di dati gratuite che le strutture di dati avvolgere intorno perfettamente accettabile che vengono forniti dal sistema. Per esempio, le funzioni di networking non restituiscono qualche casa cresciuta oggetto Socket. Ritornano descrittori di file proprio come sottostante le chiamate di sistema. L'API coprocesso è simile nello spirito popen (3) e pclose (3). I interagisce funzione fgetline (3) perfettamente con I / O standard. Gli errori vengono restituiti tramite errno proprio come chiamate di sistema e alcune funzioni di libreria standard. L'utente non può come errno se si scrivono programmi threaded, ma ho pensato che fino a errno va via, è meglio accettarlo e trovare un modo per beneficio da esso. Inevitabilmente, il modulo string fa avvolgere un oggetto attorno perfettamente bene puntatori char ma il puntatore char di fondo è sempre accessibile e molte delle funzioni di stringa hanno versioni che il lavoro sulle stringhe ordinarie C. · Lo scopo di questo progetto è la pigrizia. Significa che non c'è bisogno di avvolgere ogni chiamata di sistema correlate al netto o di una funzione stringa standard in una funzione in più e non si deve imparare un carico di nuovi identificatori per le funzionalità che già conoscete come l'accesso. Lo stesso vale per i codici di errore. Non voglio a loro re-inventare e non c'è bisogno di ri-imparare. Significa anche che le funzioni libslack possono essere più facilmente inserite nei programmi esistenti per migliorare la loro funzionalità senza riscritture di codice enormi e senza la necessità di una curva di apprendimento ripida. Documentazione accurata: · Ogni modulo ha una pagina di manuale che spiega ogni funzione in dettaglio. Le firme di funzione nelle pagine di manuale sono sistematicamente confrontati con il codice sorgente per assicurarsi che non hanno mai fuori sincronia. · Ci sono molti esempi nelle pagine di manuale. La maggior parte di loro sono sistematicamente compilato ed eseguito per assicurarsi che non hanno mai fuori sincronia con il codice sorgente. · Il testo effettivo delle pagine di manuale non può essere verificata in modo sistematico, ma lo fa arrivare rilettura regolarmente. Se trovate errori di alcun genere nella documentazione, per favore fatemelo sapere. · Tutta la documentazione assume la forma di pagine di manuale, perché le pagine man sono più veloci e più accessibili di ogni altra cosa. Un'accurata Testing: · Libslack viene accuratamente testato. Questo non significa che non ci sono insetti ma significa che c'è una lunga lista di bug che non ha. Escludendo il modulo snprintf, ci sono quasi 2.800 test. Compreso il modulo snprintf, ci sono circa 150.000 test. Questi test servono anche come esempi aggiuntivi.


Liblack. Software correlato

Pluskit.

Un plugin Rapidweaver che offre una potente funzionalità di styling e importazione. ...

213 1.7 MB

Scarica

libmtp.

Attuazione gratuita e aperta del protocollo di trasferimento multimediale ...

220 564 KB

Scarica