2011-04-14 135 views
0

我在尝试在linux下安装交叉编译器时遇到困难。 我下载了一个似乎没问题的工具链,但接下来呢?我需要在控制台中键入什么命令才能使其安装?如何安装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'之类的东西。或尝试列出工具链中存档的文件 – fazo 2011-04-14 21:32:40

+0

都尝试过,没有发现任何东西......也许你有一个,只能编译2个代码给我? – 2011-04-14 21:38:14

+0

你想做什么? – 2011-04-14 21:43:32

回答

0

您可能需要使用crosstool-NG卜尝试为你的系统安装一个工具链。

+0

这对我来说并不复杂......不能理解...... – 2011-04-14 21:40:50

+1

你看过[使用说明](http://ymorin.is-a-geek.org/projects/crosstool#download_and_usage) ?他们不是很复杂 – Hasturkun 2011-04-14 21:43:14

+0

它说:“现在测试:”和那些线路不安静了解... – 2011-04-14 21:49:03

0

我不知道这是否会帮助你,但我已经编译使用ECC源文件(http://ellcc.org),并得到了:

http://pastebin.com/keDPEcsc 

http://pastebin.com/zQBsMVfS 

希望有所帮助。

+0

如果这是一项家庭作业,我很抱歉。 1.我没有使用gcc,2.我编译为big endian mips。 ;-) – 2011-04-14 22:12:03

+0

谢谢理查! 像魔法一样工作:) – 2011-04-14 22:26:33