ARM에서 gcc 3.3.1을 사용하여 레지스터에서 함수 인수를 전달하는 것을 비활성화하는 방법이 있습니까?레지스터의 함수 인수
2
A
답변
2
예. dwelch가 전 세계적인 답변을주었습니다.하지만 기능별로이 기능을 수행하려면 __attribute__
을 regparm
과 함께 사용하십시오. iirc, 다음과 같이 표시되어야합니다.
int __attribute__((regparm(0))) function(int a, char b) { ... }
0
아마도 이러한 옵션 중 하나는 그렇지 않은 경우
-mabi=name Generate code for the specified ABI. Permissible values are: `apcs-gnu', `atpcs', `aapcs', `aapcs-linux' and `iwmmxt'.
찾고있는 무엇, 무엇이든이있는 경우 (GCC 컴파일 할 때), 아마 컴파일 시간 옵션이 될 것입니다.
+0
이것들은 기본 ABI의 작은 변종입니다. 그들은 모두 레지스터에서 처음 4 개의 32 비트 값을 전달합니다. –
관련 문제
- 1. update.formula의 함수 인수 사용
- 2. MATLAB 함수 입력 인수
- 3. LINQ 평균 함수 인수
- 4. 함수 인수 푸시 순서
- 5. 함수 인수 여러 유형
- 6. javascript 함수 인수
- 7. 파이썬 - 전달 함수 인수
- 8. .NET 4 함수 : 함수 인수 질문
- 9. Rebol 함수 및 무제한 인수
- 10. 가변 인수 및 함수 오버로드
- 11. PHP 함수 배열 인수 조작
- 12. PHP 함수 정의, Null 인수
- 13. 템플릿 함수 특수화 기본 인수
- 14. 문제 전달 함수 인수 vbscript
- 15. Xcode : 함수 인수 들여 쓰기
- 16. x86 레지스터의 이름이 원래대로입니까?
- 17. C++ 함수 인수 검증 (참조 인수 대 포인터)
- 18. EBP 프레임 포인터 레지스터의 목적은 무엇입니까?
- 19. 레지스터와 임시 레지스터의 차이점은 무엇입니까?
- 20. 파이썬 - 데코레이터의 원래 함수 인수 얻기
- 21. 임의로 긴 인수 목록에 함수 적용
- 22. 자바 스크립트 함수 인수 JQAjaxSetup에 대한
- 23. Graniteds - ejb.Tide - Identity.hasRole() 함수 - 잘못된 인수
- 24. 유연한 형식 인수 및 반환 값이있는 함수?
- 25. GCC, 함수 및 포인터 인수, 경고 동작
- 26. 함수() 인수 1이 str이 아닌 코드 여야합니다
- 27. 동일한 인수 유형을 가진 구조체의 함수 포인터
- 28. 두 번째 함수에 함수 인수 전달
- 29. C++ 함수 포인터 및 사전 설정 인수
- 30. R 함수를 통한 함수 인수 전달
잘 모르겠습니다. 그러나 gcc입니다. 약간의 작업을 원한다면 소스를 수정할 수 있습니다. 아니 uninitiated하지만. 이것이 귀하의 코드가 ARM EABI (임베디드 응용 프로그램 바이너리 인터페이스)를 위반하게된다는 것을 알고 있습니까? – Dan
+1 @Dan. 왜 이것을하고 싶은지 설명해 주시겠습니까? –
비슷한 상황이 발생했습니다. 내 문제는 내가 여러 구조체 매개 변수를 asm 함수에 전달하고있다. 첫 번째 구조체의 절반이 r3에서 감기고 나머지는 스택에 있습니다. 모든 구조체가 동일하면 (즉, 스택에있는 경우) 훨씬 편리합니다. –