2010-08-31 26 views
5

Cyclone programlama dilinin C programlama dilinin güvenli bir lehçesi olduğunu okuduğumdan, on Wikipedia'u okudum, böylece aşağıdaki C kodunu düşünün.Cyclone Hakkında Soru:

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

Bu işlev, iletilmekte olan dizenin NUL ('\ 0') ile sonlandırıldığını varsayar. Bunun gibi bir dize,

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

geçirirseniz Ama strlen mutlaka dize s ile ilişkili olmayan belleğe yinelemenize neden olur. Yani

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

Visual Studio Cyclone kullanabilir veya yeni bir derleyici İNDİRMEMENİZİ zorunda yapabilir Cyclone

bu kodun başka bir versiyonu var mıdır?

cevap

3

Cyclone'a ihtiyacınız olacak. Ayrıca derleyicinin adıdır. Cyclone derleyicisi kaynak kodu here'da bulunur. Cyclone derleyicisi, belgelere göre yalnızca GCC ile derlenebilir. Cyclone derleyicisini derlemek için this'u kontrol edin.

* .cyc dosyaları için custom rules sağladığınızda bunu Visual Studio'dan kullanabilirsiniz. Bu şekilde IDE'yi daha iyi bir metin editörü olarak kullanabilirsiniz. Sözdizimi vurgulama ve stil için C dili genişletme listesine * .cyc atayın.

2

Belirli bir dosya adı uzantısına sahip bir dosya için özel araçlar çalıştırabilirsiniz. Özelleştirme kuralı is here'un nasıl kurulacağıyla ilgili MSDN Kitaplığı makalesi. Bu VS2010 şu anda oldukça kırık olduğunu unutmayın.