2016-11-08 2 views
1

32 비트 ARM-7 Winbond CPU와 uClinux OS로 구성된 내장 장치가 있습니다. Windows 7 64 비트 시스템이 있습니다. ftp 서버를 통해 업로드하는 것뿐만 아니라 프로그램 컴파일을위한 우분투 용 가상 박스를 설치했습니다. 내장 된 장치의 파일이 텔넷 서버에서 실행 중입니다. 장치에는 자체 vdi 파일이 있지만 Virtual Box에서 이미지를 열 수 없으므로 Virtual Box에 Ubuntu를 설치합니다.텔넷에서 임베디드 장치로 파일을 실행하는 중 Exec 형식 오류가 발생했습니다.

문제는 다음과 같습니다

  1. 나는이 프로그램을 컴파일하고 프로그램을 실행하고 "Exec에서 형식 오류"가 표시되지 않습니다 텔넷에서 파일을 실행하는 동안, FTP를 통해 장치에 업로드

    . 그래서 실행 파일을 디버그했습니다. "스택 스매싱이 감지되었습니다."입니다. 어떻게 해결할 수 있습니까?

  2. Windows에서 샘플 코드를 우분투 서버에 가상 머신으로 복사하고 ftp를 통해 장치에 프로그램을로드하면 실행되지 않습니다. 그리고 내가 윈도우 7에서했던 것처럼, 나는 프로그램이 실행되고있는 윈도우 ftp를 통해 디바이스에 샘플 코드를 업로드했다. 왜 이런 일이 발생합니까?

+0

? 이 장치를 위해 특별히 컴파일해야합니다. –

+0

나는 Virtual Box를 사용하여 Ubuntu에서 프로그램을 컴파일했다. – bp04

답변

0

다른 아키텍처 용으로 빌드 된 프로그램을 실행할 수 없습니다. 귀하의 응용 프로그램은 x86 64 비트 아키텍처 용으로 제작되었으며 32 비트 ARM에서 실행하려고합니다. 주어진 아키텍처에 맞게 프로그램을 크로스 컴파일해야합니다. 여기

당신은 크로스 컴파일에 대해 읽을 수 있습니다 :이 프로그램을 컴파일하는 방법

관련 문제