#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. Извините. Я неправильно понял вопрос: я думал, вы могли бы скомпилировать свой код для целевой платформы. комментарий удален
Ответ №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.