일부 코드를 C로 작성 했으므로 이것을 최적화하지 않고 MIPS 64로 변환해야합니다. 나는 이것을 gcc로 바꾸려고 노력하고 있지만 이것은 훨씬 더 복잡한 x86으로 변환한다. 또한 크로스 컴파일러를 찾으려고했지만 컴파일러를 사용할 수 없었습니다. 어떤 도움이나 제안이라도 대단히 감사하겠습니다. 대신 86을 대상으로하는 GCC의하는 MIPS 크로스 컴파일러를 사용하는 경우C를 MIPS64 어셈블리로 변환하십시오.
종류와 관련,
일부 코드를 C로 작성 했으므로 이것을 최적화하지 않고 MIPS 64로 변환해야합니다. 나는 이것을 gcc로 바꾸려고 노력하고 있지만 이것은 훨씬 더 복잡한 x86으로 변환한다. 또한 크로스 컴파일러를 찾으려고했지만 컴파일러를 사용할 수 없었습니다. 어떤 도움이나 제안이라도 대단히 감사하겠습니다. 대신 86을 대상으로하는 GCC의하는 MIPS 크로스 컴파일러를 사용하는 경우C를 MIPS64 어셈블리로 변환하십시오.
종류와 관련,
다운로드 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 플래그는 정상적으로 작동합니다.
귀하의 조언을 주셔서 감사합니다 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 –
gcc가 dos 경로에 문제가있는 것 같습니다. . 소스 코드가있는 디렉토리로 cd-ing하고 컴파일러를 실행하십시오. 또한 codesourcery \ bin 디렉토리를 PATH에 추가하십시오. 또는 Cygwin을 설치하고 cygwin 창에서 도구를 실행하면됩니다. – markgz
, 당신이 "변환"(컴파일)을 완료 할 수 있습니다. MIPS 크로스 컴파일러 (gcc)를 찾아야하는 경우 codesourcery.com에서 미리 작성된 코드를 얻을 수 있습니다.
위의 문구는 출력이 MIPS가 아니라 오히려 출력이 x86보다 덜 복잡하기를 원합니다. 이 경우 ARM 출력을 검사 할 수도 있습니다. 다음
나는 codesourcery에서 소프트웨어를 다운로드했지만 mips64로 컴파일하는 옵션이 보이지 않습니다. 게다가 크로스 컴파일러를 만들려고했지만 옵션이 제대로 작동하지 않는 것 같습니다. mips-unknown-linux-gnu와 같은 여러 파일을 실행할 수 있지만 옵션을 사용하는 방법과 옵션을 잘 모르는 경우 플래그를 -o 및 -S로 인식하지 못하기 때문에 –
@AlexvanRijs 다운로드 한 경우 분명히 알 수 있습니다. MIPS 코드를 생성하는 컴파일러는 사용할 플래그가 없으며 이미 원하는 것을 수행합니다. – HonkyTonk
[MIPS의 크로스 컴파일 방법] (0120)을 (를) 다운로드하십시오. – unwind