2010-08-31 20 views
5

Ho letto on Wikipedia che il linguaggio di programmazione Cyclone è un dialetto sicuro del linguaggio di programmazione C, quindi considera il seguente codice C.Domanda su Cyclone

Questa funzione presuppone che la stringa passata sia terminata da NUL ('\ 0'). Ma se passiamo una stringa come questa,

char buf[] = {'h','e','l','l','o','!'} 

causerebbe strlen per scorrere memoria non necessariamente associato con la stringa s. Quindi c'è un'altra versione di questo codice in Cyclone

int strlen(const char ? s) 
{ 
    int iter, n = s.size; 
    if (s == NULL) return 0; 
    for (iter = 0; iter < n; iter++, s++) { 
     if (*s == '\0') return iter; 
    } 
    return n; 
} 

Posso usare il ciclone in Visual Studio o devo per prelevare un nuovo compilatore?

risposta

3

Avrete bisogno di Cyclone. È anche il nome del compilatore. Il compilatore Cyclone è disponibile nel codice sorgente here. Il compilatore Cyclone può, secondo la documentazione, essere compilato solo con GCC. Controllare this per compilare il compilatore Cyclone.

È possibile utilizzarlo da Visual Studio se si fornisce custom rules per i file * .cyc. In questo modo puoi usare l'IDE come migliore editor di testo. Per evidenziare la sintassi e assegnare lo stile * .cyc all'elenco di estensione del linguaggio C.

2

È possibile eseguire strumenti personalizzati per un file con un'estensione di nome file specifica. L'articolo di MSDN Library su come impostare la regola di creazione personalizzata is here. Attenzione, questo è abbastanza rotto in VS2010 in questo momento.