2011-04-14 5 views
0

리눅스에서 크로스 컴파일러를 설치하는 중 어려움을 겪고 있습니다. 나는 괜찮은 것 같지만 다음은 무엇인가하는 툴체인을 다운로드 했습니까? 콘솔을 설치하려면 콘솔에 입력해야하는 명령은 무엇입니까?gcc 크로스 컴파일러 설치 방법

목적은 C 코드를 MIPS (리틀 엔디안) 코드로 변환하는 것입니다.

사실 난 단지 2 코드에 대해 한 번 필요, 그래서 누군가는 나에게 MIPS에서 그 코드를 보여줄 수 있다면, 나는 ... 더 이상 드릴 것입니다

첫 번째 코드 :

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 

#define SIZE 128 

int main() 

{ 
    char mychar , string [SIZE]; 
    int i; 
    int count =0 ; 

    printf ("Please enter your string: \n\n"); 
    fgets (string, SIZE, stdin); 

    printf ("Please enter char to find: "); 
    mychar = getchar(); 

    for (i=0 ; string[i] != '\0' ; i++) 
     if (string[i] == mychar) 
      count++; 

    printf ("The char %c appears %d times\n" ,mychar ,count); 


    return 0; 
} 

두 번째 코드 :

#include <stdio.h> 
#include <string.h> 

void SIFT(int x_arr[ ], int y_arr[]); 

int main() 
{ 
    int x[20] = {0} , y[20] = {0}; 
    int m=0,temp=0,curr=0,i=0,j=0; 

    printf("Please enter your numbers now:\n\n"); 

    /*enter numbers one by one. if x[i+1] value < x[i] value, err msg. 
     when user want to end the series he must enter '0' which means end of string (it wont  included in x[]) */ 
    while ((scanf("%d",&temp)) != 5) 
    { 
     if (temp >= curr) 
     { 
      x[i] = temp; 
      curr = temp; 
      i++; 
     } 
     else 
     { 
      printf("The numbers are not at the right order !\n\nProgram will now terminate...\n\n"); 
     } 
    } 

    SIFT(x,y); 

    for (i=0 ; y[i]=='0' ; i++) /*strlen(y) without ('0')'s includes*/ 
     m++; 

    /*Prints m , y's organs*/ 
    printf("\n\nm = %d",m); 
    printf("Y = "); 
    while (y[j]!='0') 
    { 
     printf ("%d ,",y[j]); 
     j++; 
    } 

return 0; 
} 

void SIFT(int x_arr[ ], int y_arr[]) 
{ 
    int i=0,j=0; 

    while (x_arr[i] != '0') 
    { 
     if (x_arr[i] == x_arr[i+1]) /*if current val. equals next val. -> jump dbl at x_arr*/ 
     { 
      y_arr[j] = x_arr[i]; 
      i+=2; 
      j++; 
     } 
     else 
     { 
      y_arr[j]=x_arr[i]; 
      i++; 
      j++; 
     } 
    }  

} 
+0

코드를 mips로 변환하지 말고 컴파일하십시오. 'mips-gcc'와 같은 것을 실행 해보십시오. 또는 toolchain – fazo

+0

에서 아카이브에있는 파일을 나열하려고 시도해도 아무 것도 발견하지 못했을 것입니다. 아마 하나가 있고 나에게 2 개의 코드 만 컴파일 할 수 있습니까? –

+0

당신은 무엇을하려고합니까? –

답변

0

당신은 BU하는 crosstool-NG를 사용하여 시도 할 수 있습니다 시스템에 대한 툴체인을 설치하십시오.

+0

나에게 조금 복잡해 ... 잘 이해할 수 없다 ... –

+1

[사용법] (http://ymorin.is-a-geek.org/projects/crosstool#download_and_usage)을 보았습니까? ? 그들은 그다지 복잡하지 않습니다 – Hasturkun

+0

그것은 "거기서 시험해 봅니다."그 라인들은 조용히 이해하지 못합니다 ... –

0

은 내가 당신을 도울 것입니다 있는지 확실하지 않습니다하지만 ECC를 사용하여 소스 파일을 컴파일 (http://ellcc.org)하고있어 :

http://pastebin.com/keDPEcsc 

http://pastebin.com/zQBsMVfS 

도움이 되길 바랍니다.

+0

그리고 이것이 숙제임이 틀림 없으면 미안합니다. 1. gcc를 사용하지 않았습니다. 2. big endian mips 용으로 컴파일했습니다. ;-) –

+0

Thanks Richard !! 마법처럼 일했습니다. :) –

관련 문제