nesc

NESC è un'estensione del linguaggio di programmazione C progettato per incarnare i concetti di strutturazione e il modello di esecuzione di Tinyos.
Scarica ora

nesc Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • GPL
  • Prezzo:
  • FREE
  • Nome editore:
  • nesC Team
  • Sito web dell'editore:

nesc Tag


nesc Descrizione

NESC è un'estensione del linguaggio di programmazione C progettato per incarnare i concetti di strutturazione e il modello di esecuzione di Tinyos. nesC è un'estensione al linguaggio di programmazione C destinata a racchiudere i concetti strutturanti e modello di esecuzione di TinyOS. TinyOS è un sistema operativo event-driven progettato per nodi di rete sensore che hanno risorse molto limitate (per esempio, 8K byte di memoria di programma, 512 bytes di RAM) .I concetti di base nesC sono: · Separazione di costruzione e composizione: programmi sono costruiti da componenti che vengono assemblati ( "fili") per formare interi programmi. I componenti hanno la concorrenza interna in forma di attività. Thread di controllo possono passare in un componente attraverso le sue interfacce. Questi fili sono radicati sia in un compito o un interrupt. · Specifica del comportamento componente in termini di insieme di interfacce. Le interfacce possono essere forniti o utilizzati dai componenti. Le interfacce fornite hanno lo scopo di rappresentare la funzionalità che il componente fornisce ai suoi utenti, le interfacce utilizzate rappresentano la funzionalità dei bisogni dei componenti di svolgere il suo lavoro · Le interfacce sono bidirezionali:. Specificano una serie di funzioni da attuare entro il fornitore dell'interfaccia ( comandi) e un set da attuare dall'utente dell'interfaccia (eventi). Questo permette una singola interfaccia per rappresentare una complessa interazione tra i componenti (ad esempio, la registrazione di interesse in un certo evento, seguita da un callback quando l'evento si verifica). Questo è fondamentale perché tutti i comandi lunghi in TinyOS (Packet esempio inviare) sono non bloccante; il loro completamento è segnalato attraverso un evento (invio fatto). Specificando interfacce, un componente non può chiamare il comando di invio a meno che non fornisce un'implementazione della manifestazione sendDone. · Comandi genere verso il basso di chiamata, vale a dire, da componenti di applicazioni a quelli più vicini al hardware, mentre gli eventi chiamano verso l'alto. Alcuni eventi primitivi sono tenuti ad interrupt hardware. · I componenti sono staticamente collegati tra loro attraverso le loro interfacce. Ciò aumenta l'efficienza runtime, incoraggia disegno rubust, e consente una migliore analisi statica di programmi. · NesC è progettata sotto l'aspettativa che codice verrà generato da compilatori intero programma. Questo dovrebbe anche consentire una migliore generazione del codice e del nuovo analysis.What in questo rilascio: - C preprocessore è integrato in nesC, che dovrebbe accelerare in modo significativo la compilazione - il supporto per il sistema di Vice tipo-sicurezza-per-C (specialmente su Windows.) (vedi deputy.cs.berkeley.edu). Per usare il vice, di aggiungere annotazioni di tipo al codice nesC, quindi compilare con l'-fnesc deputato bandiera. Un gruppo di piccole modifiche al nesC supporta l'utilizzo di deputato. Bandiere a nescc: -fnesc-vice: l'uso Vice in questa raccolta. È necessario disporre di una versione di Vice personalizzato per l'utilizzo con nesC installato per questo al lavoro. -fnesc-vice-args: argomenti aggiuntivi da passare al vice. -fnesc-default-safe / -fnesc-default-pericoloso: la sicurezza di default per le funzioni C e moduli nesC annotazioni di tipo (senza opzione specificata, -fnesc-default-pericoloso è assunto): NONULL, COUNT (...), ecc (vedere la documentazione Vice-per-nesC per tutti i dettagli), che sono in realtà delle macro che si espandono a nesC attributi (@nonnull (), @count (...), ecc Utilizzando le macro consente al codice Vice-annotato da utilizzare . con le versioni precedenti di nesC annotazioni di tipo nei commenti nesdoc: per ridurre l'ingombro per gli utenti non-Vice, le annotazioni del deputato può essere collocato all'interno di un commento nesdoc piuttosto che in una firma di funzione (che poi si presenta come una firma normale C): / ** ... @param 'int * @ count (n) x' x è un array di n int ... * / void f (int * x, int n); è lo stesso void f (int * @ count ( n) x, int n); macro può essere utilizzata nel commento, la suddetta potrebbe anche essere / ** ... @param 'int * COUNT (n) x' x è un array di n int ... * / void f (int * x, int n), dove COUNT (espressione) espande per @count (espressione) .- supporto interno (in ne SC1) per Vice basa su @deputy_scope () e @macro ( "NAME") attributi e un -fnesc-genprefix = option.- @macro () e -fnesc-genprerix = può essere utile in altri contesti anche: se un nesC dichiarazione attributo ha un @macro () attributo: struct @myattr @macro ( "MyMacro") {int x; char * y; }; poi usi di @myattr in fonte nesC sono emessi come chiamate a MyMacro in uscita intermedia C di nesC. Per esempio int x @myattr (23, "divertimento"); diventa int x MyMacro (23, "divertimento"); Il -fnesc-genprefix = aggiunge all'inizio dell'uscita C generato, ad esempio, potrebbe essere una definizione #define per MyMacro, o # include un file con opportuni larghe stringhe definitions.- in uscita XML visualizzati come array di byte (e seguire la rappresentazione a livello di byte del bersaglio di ampi archi) - capacità di elaborare un file C attraverso nesC (questo fornisce il supporto a C per i tipi di esterni, dichiarazioni atomici e unico nel suo genere), come segue: nescc -x NESC .c questo forze nescc per passare il file C .c attraverso il compilatore nesC (normalmente verrebbe inviato al normale compilatore C), che elabora le estensioni NESC e quindi compilare il codice C generato con il normale compilatore C (o qualsiasi compilatore è stato specificato con -fnesc-gcc = ...) - all'interno di un modulo, è ora possibile scrivere f (void) oppure void f () in modo intercambiabile


nesc Software correlato

pdftools.

PDFTools Project contiene classi Python per la lettura dei file del formato del documento portatile (PDF) e interpretando i loro contenuti. ...

165

Scarica

refactor.

Refactor è un plugin VIM che offre la funzionalità di uno strumento di refactoring C / C ++. ...

81

Scarica

Sussie

Susie è un tentativo di fornire un motore di scripting leggero con SmallTalk come lingua. ...

187

Scarica