.S 프로그램에서 .c 파일에 정의 된 변수를 사용하려고합니다. 이 .c 파일에서uclibc-gcc에서 어셈블리 지시문 .extern 사용
: 그것은 컴파일 할 수 있습니다
.extern var
LDR lr, _VAR
_VAR: .word var
: .S 파일에있는 동안
const int var = 10;
. 그러나 실행시 오류 메시지 "응용 프로그램의 텍스트 섹션을 수정할 수 없으며 위치 독립적 실행 파일에 GCC 옵션 -fPIE를 사용하십시오."
크로스 컴파일 도구는 arm-v7-linux-uclibceabi-gcc입니다. 그리고 타겟은 ARM cortex R4입니다.
이렇게 ".extern"을 사용할 수 없습니까?
감사합니다. Simmis.
어떤 칩을 사용하고 있습니까? 어떤 마이크로 프로세서? MIPS? 팔 ? PIC? 프리 스케일? 아트멜? –
ARM 피질 R4. ST 칩셋. – Simmis
메시지 본문에 세부 정보를 포함 시키도록 강력히 제안하십시오. 또한 그것에 대한 태그도 추가하십시오. 지금 당신은 "Assembly"와 "Extern"이라는 태그를 가지고 있습니다. 나는 또한 당신이 ARM과 대뇌 피질을 추가하는 것이 좋습니다 –