2010-08-31 28 views
5

He leído on Wikipedia que el lenguaje de programación Cyclone es un dialecto seguro del lenguaje de programación C así que considere el siguiente código C.Pregunta sobre Cyclone

int strlen(const char *s) 
{ 
    int iter = 0; 
    if (s == NULL) return 0; 
    while (s[iter] != '\0') { 
     iter++; 
    } 
    return iter; 
} 

Esta función asume que la secuencia que se pasa termina con NUL ('\ 0'). Pero si se pasa una cadena como esta,

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

que causaría strlen para recorrer la memoria no necesariamente asociada con la cadena s. Así que hay otra versión de este código en el ciclón

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; 
} 

¿Puedo usar el ciclón en Visual Studio o tengo que donwload un nuevo compilador?

Respuesta

3

Necesitará Cyclone. También es el nombre del compilador. El compilador Cyclone está disponible en el código fuente here. El compilador de Cyclone puede, de acuerdo con la documentación, solo compilarse con GCC. Consulte this para compilar el compilador Cyclone.

Puede usarlo desde Visual Studio si proporciona custom rules para los archivos * .cyc. De esta manera puede usar el IDE como un mejor editor de texto. Para resaltar la sintaxis y asignar estilo * .cyc a la lista de extensiones del lenguaje C.

2

Puede ejecutar herramientas personalizadas para un archivo con una extensión de nombre de archivo específica. El artículo de MSDN Library sobre cómo configurar la regla de compilación personalizada is here. Tenga en cuenta que esto está bastante roto en VS2010 en este momento.