Скомпилируйте код на C в сборку MIPS

#c #compiler-construction #assembly #mips

#c #построение компилятора #сборка #mips

Вопрос:

Я написал программу на C, которую мне нужно увидеть в коде MIPS assembly.

Как мне установить или управлять программным обеспечением, которое принимает файл *.c за *.txt или *.something_else, чтобы увидеть его код на MIPS-ассемблере?

Моя операционная система — Linux.

Большое спасибо!!

Кстати, мой код:

 #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: nn");
    fgets (string, SIZE, stdin);

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

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

    printf ("The char %c appears %d timesn" ,mychar ,count);


    return 0;
}
  

Комментарии:

1. просто напишите gcc -Ы в консоли? и что это мне даст?

2. Извините. Я неправильно понял вопрос: я думал, вы могли бы скомпилировать свой код для целевой платформы. комментарий удален

3. en.gentoo-wiki.com/wiki/Crossdev

Ответ №1:

Вам нужен кросс-компилятор MIPS, если только вы не используете Linux на MIPS box, и в этом случае вам нужен обычный MIPS-компилятор. Вот руководство по настройке кросс-компилятора в Linux.

Как только вы его скомпилируете, вам захочется посмотреть MIPS-дизассемблирование. в этом вам может помочьobjdump.

Комментарии:

1. @C_guy: Бах, RPM — это зло. Вы можете использовать это для получения deb.

2. Я схожу с ума от этих кросс-компиляторов… Я ничего не могу понять из этих руководств… Есть ли x шагов, чтобы просто преобразовать код из C в MIPS?

3. Получите предварительно скомпилированный пакет из CodeSourcery , если вы не можете создать его самостоятельно. У них даже есть пакет для Windows.

Ответ №2:

Вам нужно установить библиотеку кросс-компиляции MIPS, а затем вам нужно передать -S один из -march=mips* параметров в gcc.

Комментарии:

1. Где я могу найти этот каталог?

2. Я никогда не слышал об этом. Звучит потрясающе. Как вы это делаете?

Ответ №3:

Вы можете использовать превосходный и простой в использовании кросс-инструмент Дэна Кегелса для компиляции собственного кросс-компилятора MIPS.

Комментарии:

1. Похоже, что MIPSTOJAVA принимает только исполняемый файл MIPS и выводит Java. В документах ничего не говорится о преобразовании C в исходный код MIPS.