2012-10-09 2 views
0

일부 코드를 C로 작성 했으므로 이것을 최적화하지 않고 MIPS 64로 변환해야합니다. 나는 이것을 gcc로 바꾸려고 노력하고 있지만 이것은 훨씬 더 복잡한 x86으로 변환한다. 또한 크로스 컴파일러를 찾으려고했지만 컴파일러를 사용할 수 없었습니다. 어떤 도움이나 제안이라도 대단히 감사하겠습니다. 대신 86을 대상으로하는 GCC의하는 MIPS 크로스 컴파일러를 사용하는 경우C를 MIPS64 어셈블리로 변환하십시오.

종류와 관련,

+1

[MIPS의 크로스 컴파일 방법] (0120)을 (를) 다운로드하십시오. – unwind

답변

0

다운로드 MIPS위한 코드 소서리 codebench를 설치 한 후, MIPS 64 개정 2 아키텍처에 대한 MIPS GCC 크로스 컴파일러를 호출 :

C:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_MIPS_GNU_Linux\bin\mips-linux-gnu-gcc -march=mips64r2 foo.c -S 

이것은 foo.s에 MIPS 어셈블리 소스 코드를 생성한다.

코드 벤치와 함께 설치된 설명서는 -march 옵션에 대해 가능한 다른 값을 알려줍니다. -S-O과 같은 기타 gcc 플래그는 정상적으로 작동합니다.

+0

귀하의 조언을 주셔서 감사합니다 markgz! MIPS 용 Codesourcery를 다운로드하여 설치했습니다. 다음 명령을 사용하여 C 코드를 실행하려고 시도하면 터미널에서 정보 나 오류가 출력되지 않습니다. 주된 문제는 .s 파일을 출력하지 않는다는 것입니다. C : \ Program Files \ CodeSourcery \ Sourcery_CodeBench_for_MIPS_GNU_Linux \ bin> mips-linux-gnu-gcc -march = mips64r2 "C : \ Users \ Alex \ Ricks \ Documents \ ccode.c"-S –

+0

gcc가 dos 경로에 문제가있는 것 같습니다. . 소스 코드가있는 디렉토리로 cd-ing하고 컴파일러를 실행하십시오. 또한 codesourcery \ bin 디렉토리를 PATH에 추가하십시오. 또는 Cygwin을 설치하고 cygwin 창에서 도구를 실행하면됩니다. – markgz

0

, 당신이 "변환"(컴파일)을 완료 할 수 있습니다. MIPS 크로스 컴파일러 (gcc)를 찾아야하는 경우 codesourcery.com에서 미리 작성된 코드를 얻을 수 있습니다.

위의 문구는 출력이 MIPS가 아니라 오히려 출력이 x86보다 덜 복잡하기를 원합니다. 이 경우 ARM 출력을 검사 할 수도 있습니다. 다음

+0

나는 codesourcery에서 소프트웨어를 다운로드했지만 mips64로 컴파일하는 옵션이 보이지 않습니다. 게다가 크로스 컴파일러를 만들려고했지만 옵션이 제대로 작동하지 않는 것 같습니다. mips-unknown-linux-gnu와 같은 여러 파일을 실행할 수 있지만 옵션을 사용하는 방법과 옵션을 잘 모르는 경우 플래그를 -o 및 -S로 인식하지 못하기 때문에 –

+0

@AlexvanRijs 다운로드 한 경우 분명히 알 수 있습니다. MIPS 코드를 생성하는 컴파일러는 사용할 플래그가 없으며 이미 원하는 것을 수행합니다. – HonkyTonk

관련 문제