휴대 전화에서 c 언어 프로그램을 실행하는 방법 exe
1. 크로스 컴파일러 도구 설치
먼저 리눅스에 arm-none-linux-gnueabi-gcc 를 설치해야 합니까? 교차 컴파일 도구 체인 다운로드 주소 (오랜만이다 ~ _ ~)
별말씀을요. usr/local/bin 디렉토리에 넣고 패키지 압축을 풀고 압축을 푼 후 arm-2009q 1 폴더를 얻은 다음 arm-2009q 1 을 넣습니다
터미널에서 arm-none-linux-gnueabi-gcc -v 를 실행하면 다음과 같이 구성이 성공한 것입니다.
2. c 프로그램 컴파일
그런 다음 C 언어 프로그램을 작성하고 컴파일하여 HelloWorld 프로그램을 마음대로 쓸 수 있습니다.
[CPP] 일반 텍스트 보기
# 포함? & ltstdio.h & gt
Int? 주 ()
{
Printf ("여보세요? 세계! \ n ");
반환? 0;
}
그런 다음 arm-none-linux-gnueabi-gcc 로 컴파일합니다. 아래 컴파일 명령에 문제가 있습니다. 나중에 설명하겠습니다.
[일반] 일반 복사본 보기
그림 설명을 입력하려면 클릭하십시오.
Arm-none-linux-gnueabi-gcc? Test.c? -오? 실험
3. 실행 권한을 부여합니다
그런 다음 실행 파일을 휴대 전화 SD 카드에 복사하십시오.
그림 설명을 입력하려면 클릭하십시오.
테스트 실행을 시도한 결과 라이센스가 있습니까? 거절하다
그림 설명을 입력하려면 클릭하십시오.
분명히, 나는 집행권이 있다. 나중에 알게 된 이유는 프로그램이 sdcard 디렉토리에서 실행할 수 없지만 루트 디렉토리의 /data/local 디렉토리에서 실행할 수 있기 때문입니다.
먼저 루트 디렉토리를 읽고 쓸 수 있도록 관리자 권한을 얻습니다.
[일반] 일반 복사본 보기
그림 설명을 입력하려면 클릭하십시오.
소련 (USSR 의 약자)
프로그램을 지정된 디렉토리에 넣습니다.
[일반] 일반 복사본 보기
그림 설명을 입력하려면 클릭하십시오.
고양이? 테스트? & gt? /데이터/로컬/테스트
현재 읽기 및 쓰기 권한만 있으므로 실행 권한을 추가해야 합니다.
[일반] 일반 복사본 보기
그림 설명을 입력하려면 클릭하십시오.
Chmod? 777? 실험
다시 실행해 봅니다
그림 설명을 입력하려면 클릭하십시오.
결과는 없나요? 이런 거요? 파일? 아니면? 디렉토리!
나중에 네티즌의 경험을 통해 우리 프로그램이 동적 링크로 컴파일되었기 때문에 Android 와 Ubuntu 의 링크 라이브러리 파일 경로가 다르기 때문에 파일을 찾을 수 없다는 것을 알게 되었습니다.
Gcc 를 사용할 수 있습니까? -static 명령은 정적 링크를 통해 컴파일됩니다.
[일반] 일반 복사본 보기
그림 설명을 입력하려면 클릭하십시오.
Arm-none-linux-gnueabi-gcc? Test.c? -오? 테스트? -정적
정적 링크 후에는 프로그램이 훨씬 커집니다. 위의 단계를 반복하면 결국 성공적으로 실행할 수 있다. 여보세요? 세계!
그림 설명을 입력하려면 클릭하십시오.