2014-04-27 6 views
1

필자는 처음 작성한 nimrod 프로그램 인 fizzbuzz를 실행 해 보았습니다.Nimrod Beginner - Fizzbuzz - 컴파일 및 실행

Nimrod는 git에서 설치되었으며 버전은 다음과 같습니다.

[sayth nimrod]$ nimrod --version 
Nimrod Compiler Version 0.9.4 (2014-04-28) [Linux: amd64] 
Copyright (c) 2006-2014 by Andreas Rumpf 

그래서 여기에 내가 C로 컴파일 된 fizzbuzz

proc fizzBuzz(x, y: int) = 
     for i in x .. y: 
       if i mod 15 == 0: 
         echo("FizzBuzz") 
       elif i mod 3 == 0: 
         echo("Fizz") 
       elif i mod 5 == 0: 
         echo("Buzz") 
       else: 
         echo(i) 

입니다 (더 나은 옵션은?있다) 그것은 나에게 확인 나타났다.

[sayth nimrod]$ nimrod c fizzbuzz.nim 
config/nimrod.cfg(37, 2) Hint: added path: '/home/sayth/.babel/pkgs/' [Path] 
Hint: used config file '/home/sayth/Nimrod/config/nimrod.cfg' [Conf] 
Hint: system [Processing] 
Hint: fizzbuzz [Processing] 
fizzbuzz.nim(1, 5) Hint: 'fizzbuzz.fizzBuzz(x: int, y: int)' is declared but not used [XDeclaredButNotUsed] 
gcc -c -w -I/home/sayth/Nimrod/lib -o /home/sayth/Scripts/nimrod/nimcache/fizzbuzz.o /home/sayth/Scripts/nimrod/nimcache/fizzbuzz.c 
gcc -c -w -I/home/sayth/Nimrod/lib -o /home/sayth/Scripts/nimrod/nimcache/stdlib_system.o /home/sayth/Scripts/nimrod/nimcache/stdlib_system.c 
gcc -o /home/sayth/Scripts/nimrod/fizzbuzz /home/sayth/Scripts/nimrod/nimcache/stdlib_system.o /home/sayth/Scripts/nimrod/nimcache/fizzbuzz.o -ldl 
Hint: operation successful (8181 lines compiled; 1.065 sec total; 13.138MB) [SuccessX] 

그러나 출력을 실행하지 않습니다. 내가 잘못하고있는 것이 있습니까?

[sayth nimrod]$ ./fizzbuzz 
[sayth nimrod]$ 

답변

6

당신은 단지 그것을 잊어 버렸을 것입니다. C.에

fizzbuzz.nim(1, 5) Hint: 'fizzbuzz.fizzBuzz(x: int, y: int)' is declared but not used [XDeclaredButNotUsed]

그리고 아니, 당신의 최선의 선택은 컴파일이 미래에 LLVM 백엔드가있을 수 있지만, 일반적인 의견은 그것의 가치보다 더 많은 문제가 있다는 것입니다 : 컴파일러 힌트를 참고. 중간 C 출력은 더 이식성이 뛰어나며 (gcc는 LLVM보다 더 많은 plataform에서 실행됩니다) 코드 최적화에 가장 적합한 컴파일러를 선택할 수 있습니다.