반응형
crt0.o와 crt1.o -- 무엇이 다릅니까?
최근에 낮은 수준의 작업을 디버깅하려고 했지만 찾을 수 없었습니다.crt0.S
컴파일러(avr-gcc)를 위해 그러나 나는 발견했습니다.crt1.S
(및 해당하는 것도 마찬가지입니다..o
파일).
이 두 파일의 차이점은 무엇입니까?아이즈crt1
완전히 다른 것이나 무엇인가?둘 다 '부트스트랩'(설정)과 관련이 있는 것 같습니다.stack frame
등), 하지만 왜 그 차이가 있습니까?
crt0/crt1은 모두 동일한 작업을 수행하며 기본적으로 main()을 호출하기 전에 필요한 작업을 수행합니다(예: 스택 초기화, irqs 설정 등).둘 중 하나 또는 다른 하나와 연결해야 하지만 둘 다 연결해서는 안 됩니다.그것들은 실제 라이브러리가 아니라 실제로 인라인 어셈블리 코드입니다.
제가 알기로는 crt는 두 가지 "맛"이 있습니다.
- crt1은 생성자 및 소멸자를 지원하는 시스템에서 사용됩니다(주 및 종료 전후에 호출됨).이 경우 메인은 일반 함수 호출처럼 처리됩니다.
- crt0은 생성자/파괴자를 지원하지 않는 시스템에서 사용됩니다.
언급URL : https://stackoverflow.com/questions/2709998/crt0-o-and-crt1-o-whats-the-difference
반응형
'programing' 카테고리의 다른 글
UICollection뷰 열 수 설정 (0) | 2023.06.26 |
---|---|
정적 메서드 내에서 세션 변수 값을 가져오려면 어떻게 해야 합니까? (0) | 2023.06.26 |
Github 풀 요청을 통합 diff로 다운로드합니다. (0) | 2023.06.26 |
jQuery를 사용하여 양식 제출 (0) | 2023.06.26 |
데이터 프레임의 랜덤 행 표본 (0) | 2023.06.26 |