__ASSEMBLY__ 의 의미는 무엇인가요 ?

조회 수 1121 추천 수 0 2010.03.05 00:54:21

 

define 찾아봐도 보이지 않고,

Compiler 단에서 뭔가 하는 거 같은데 ...

혹시 as( 어셈블러 ) 가 뭔가 하는건가요 ?


강진성

2010.03.05 09:32:06
*.192.222.198

gcc 컴파일 과정을 살펴보면 대략 적으로 다음과 같습니다.

cc1 -E 명령으로 전처리기가 동작하게 됩니다.

헤더 파일 삽입이나 매크로 치환등의 작업을 통해

.i 파일을 생성합니다.


cc1 이라는 c 컴파일러가 여러가지 과정 (generic 트리 생성 , gimple tree , rtl ....최적화)

을 통해서 .s 어셈블리 파일을 만들어 주죠.


어셈블리 언어로구성된어셈블리파일을

컴퓨터가 알아 먹을수 있도록 기계어로 변경을 as가 해주는 거죠.


이렇게 해서 나온 .o(오브젝트 파일) 을 ld나 coolect2 같은 링커를 통해서 링킹

과정을 거치고 나면 비로서 실행 가능한 바이너리가 생성이 됩니다.





김남형

2010.03.05 10:07:08
*.176.76.69

preprocessing해야하는 어셈블리 파일 (.S)을 컴파일할 때 정의됩니다.

(Makefile 파일에서 gcc 호출 시 인자로 넘겨줍니다.)


http://lxr.linux.no/#linux+v2.6.33/Makefile#L354


List of Articles
번호 제목 글쓴이 날짜 조회 수
102 Linker Script부분과 종합된 질문 [4] 이상훈 2010-03-17 1037
101 sbrk() 의 정확한 역할 ... [3] 이상훈 2010-03-17 1072
100 엄청난 오개념 [4] 이상훈 2010-03-16 986
99 커널 스터디 관련 질문입니다. [1] 이준명 2010-03-16 965
98 용어적인 질문 [2] 이상훈 2010-03-16 938
97 spin_lock , zone, cgroup 에 관한질문.. [4] 강진성 2010-03-13 1088
96 환경 변수 설정관련 질문 ... [3] 이상훈 2010-03-11 969
95 네트워크 인터페이스 할당 변경에 관련하여 문의드립니다. [3] 송인재 2010-03-10 1025
94 percpu_read 와 __attribute__(__section__) [5] 이상훈 2010-03-08 1123
93 cpu_number 정의가 어디있는건가요 ? [2] 이상훈 2010-03-07 1002
92 add_preempt_count() 에 대해서 ... [3] 이상훈 2010-03-07 1043
91 기계어 질문 [7] 이상훈 2010-03-06 1072
90 스터디 시간 좀 늦춰주실 수 없나요 ? [3] 이상훈 2010-03-06 956
89 백창우님 질문입니다 [4] 이상훈 2010-03-06 1103
» __ASSEMBLY__ 의 의미는 무엇인가요 ? [2] 이상훈 2010-03-05 1121
87 신기한 것 발견 ... [2] 이상훈 2010-03-03 1230
86 제일 궁금한부분입니다 ㅡ_ㅡ;;; [2] 이상훈 2010-03-03 998
85 질문입니다 [2] 이상훈 2010-03-02 1019
84 $(TOPDIR)/Makefile 질문 [4] 이상훈 2010-03-02 1044
83 모듈 단위로 분석하는 것의 한계점 [5] Linux 2010-02-28 1053



XE Login